summaryrefslogtreecommitdiffhomepage
path: root/lib/Language/Haskell/Stylish/Config.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Language/Haskell/Stylish/Config.hs')
-rw-r--r--lib/Language/Haskell/Stylish/Config.hs16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/Language/Haskell/Stylish/Config.hs b/lib/Language/Haskell/Stylish/Config.hs
index 5092ed9..b83cf3a 100644
--- a/lib/Language/Haskell/Stylish/Config.hs
+++ b/lib/Language/Haskell/Stylish/Config.hs
@@ -181,17 +181,19 @@ parseSimpleAlign c o = SimpleAlign.step
parseImports :: Config -> A.Object -> A.Parser Step
parseImports config o = Imports.step
<$> pure (configColumns config)
- <*> (Imports.Align
- <$> (o A..:? "align" >>= parseEnum aligns Imports.Global)
- <*> (o A..:? "list_align" >>= parseEnum listAligns Imports.AfterAlias)
+ <*> (Imports.Options
+ <$> (o A..:? "align" >>= parseEnum aligns (def Imports.importAlign))
+ <*> (o A..:? "list_align" >>= parseEnum listAligns (def Imports.listAlign))
<*> (o A..:? "long_list_align"
- >>= parseEnum longListAligns Imports.Inline)
+ >>= parseEnum longListAligns (def Imports.longListAlign))
-- Note that padding has to be at least 1. Default is 4.
<*> (o A..:? "empty_list_align"
- >>= parseEnum emptyListAligns Imports.Inherit)
- <*> o A..:? "list_padding" A..!= Imports.LPConstant 4
- <*> o A..:? "separate_lists" A..!= True)
+ >>= parseEnum emptyListAligns (def Imports.emptyListAlign))
+ <*> o A..:? "list_padding" A..!= (def Imports.listPadding)
+ <*> o A..:? "separate_lists" A..!= (def Imports.separateLists))
where
+ def f = f Imports.defaultOptions
+
aligns =
[ ("global", Imports.Global)
, ("file", Imports.File)