diff options
Diffstat (limited to 'lib/Language/Haskell/Stylish/Config.hs')
-rw-r--r-- | lib/Language/Haskell/Stylish/Config.hs | 16 |
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) |