summaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorYuriy Syrovetskiy <cblp@cblp.su>2017-06-19 14:54:06 +0300
committerJasper Van der Jeugt <jaspervdj@gmail.com>2017-06-19 13:54:06 +0200
commit8dfa649696c6321b34bdd124020d8afc03c8c9bc (patch)
treec46f16cf16e630f60c16a9fba5852e2cee901213 /lib
parentfd96055ef151d9ba0e38fbc518f63254c22d0eef (diff)
downloadstylish-haskell-8dfa649696c6321b34bdd124020d8afc03c8c9bc.tar.gz
Add `imports.list_same_align` option
Diffstat (limited to 'lib')
-rw-r--r--lib/Language/Haskell/Stylish/Config.hs1
-rw-r--r--lib/Language/Haskell/Stylish/Step/Imports.hs5
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/Language/Haskell/Stylish/Config.hs b/lib/Language/Haskell/Stylish/Config.hs
index 667a6eb..3f9efc5 100644
--- a/lib/Language/Haskell/Stylish/Config.hs
+++ b/lib/Language/Haskell/Stylish/Config.hs
@@ -184,6 +184,7 @@ parseImports config o = Imports.step
<*> (Imports.Options
<$> (o A..:? "align" >>= parseEnum aligns (def Imports.importAlign))
<*> (o A..:? "list_align" >>= parseEnum listAligns (def Imports.listAlign))
+ <*> (o A..:? "list_same_align" A..!= def Imports.listSameAlign)
<*> (o A..:? "long_list_align"
>>= parseEnum longListAligns (def Imports.longListAlign))
-- Note that padding has to be at least 1. Default is 4.
diff --git a/lib/Language/Haskell/Stylish/Step/Imports.hs b/lib/Language/Haskell/Stylish/Step/Imports.hs
index 38ced99..2580502 100644
--- a/lib/Language/Haskell/Stylish/Step/Imports.hs
+++ b/lib/Language/Haskell/Stylish/Step/Imports.hs
@@ -38,6 +38,7 @@ import Language.Haskell.Stylish.Util
data Options = Options
{ importAlign :: ImportAlign
, listAlign :: ListAlign
+ , listSameAlign :: Bool
, longListAlign :: LongListAlign
, emptyListAlign :: EmptyListAlign
, listPadding :: ListPadding
@@ -49,6 +50,7 @@ defaultOptions :: Options
defaultOptions = Options
{ importAlign = Global
, listAlign = AfterAlias
+ , listSameAlign = True
, longListAlign = Inline
, emptyListAlign = Inherit
, listPadding = LPConstant 4
@@ -386,12 +388,13 @@ prettyImportGroup columns align fileAlign longest imps =
sortBy compareImports imps
where
align' = importAlign align
+ sameAlign = listSameAlign align
longest' = case align' of
Group -> longestImport imps
_ -> longest
- padName = align' /= None
+ padName = align' /= None && sameAlign
padQual = case align' of
Global -> True