on develop help sign in
Configure hindent to act more like the older version
658ad42Koray Al
gen/src/Gen/AST/Render.hs+20−18
@@ -1,11 +1,11 @@
1−{-# LANGUAGE DataKinds #-}
1+{-# LANGUAGE DataKinds #-}
2−{-# LANGUAGE FlexibleContexts #-}
2+{-# LANGUAGE FlexibleContexts #-}
3−{-# LANGUAGE FlexibleInstances #-}
3+{-# LANGUAGE FlexibleInstances #-}
4−{-# LANGUAGE LambdaCase #-}
4+{-# LANGUAGE LambdaCase #-}
5−{-# LANGUAGE OverloadedStrings #-}
5+{-# LANGUAGE OverloadedStrings #-}
6−{-# LANGUAGE RankNTypes #-}
6+{-# LANGUAGE RankNTypes #-}
7−{-# LANGUAGE RecordWildCards #-}
7+{-# LANGUAGE RecordWildCards #-}
8−{-# LANGUAGE ViewPatterns #-}
8+{-# LANGUAGE ViewPatterns #-}
9
9
10-- Module : Gen.AST.Render
10-- Module : Gen.AST.Render
11-- Copyright : (c) 2015-2016 Brendan Hay
11-- Copyright : (c) 2015-2016 Brendan Hay
@@ -35,7 +35,7 @@ import Gen.Formatting
35import Gen.Syntax
35import Gen.Syntax
36import Gen.Types
36import Gen.Types
37import HIndent
37import HIndent
38−import HIndent.Types (defaultConfig)
38+import HIndent.Types
39import Language.Haskell.Exts.Build (name)
39import Language.Haskell.Exts.Build (name)
40import Language.Haskell.Exts.Pretty as PP
40import Language.Haskell.Exts.Pretty as PP
41import Prelude hiding (sum)
41import Prelude hiding (sum)
@@ -172,7 +172,7 @@ data PP
172
172
173pp :: (Pretty a, Show a) => PP -> a -> AST Rendered
173pp :: (Pretty a, Show a) => PP -> a -> AST Rendered
174pp i x
174pp i x
175− | i == Indent = result (reformat defaultConfig Nothing Nothing p)
175+ | i == Indent = result (reformat hindentConfig Nothing Nothing p)
176 | otherwise = pure (LText.pack (C8.unpack p))
176 | otherwise = pure (LText.pack (C8.unpack p))
177 where
177 where
178 result = hoistEither . bimap (e . LText.pack) (LText.pack . LBS.unpack . LBB.toLazyByteString)
178 result = hoistEither . bimap (e . LText.pack) (LText.pack . LBS.unpack . LBB.toLazyByteString)
@@ -183,6 +183,11 @@ pp i x
183 . C8.pack
183 . C8.pack
184 $ prettyPrintStyleMode s m x
184 $ prettyPrintStyleMode s m x
185
185
186+ hindentConfig = defaultConfig
187+ { configTrailingNewline = False
188+ , configSortImports = False
189+ }
190+
186 s = style
191 s = style
187 { mode = PageMode
192 { mode = PageMode
188 , lineLength = 80
193 , lineLength = 80
@@ -199,15 +204,12 @@ pp i x
199-- FIXME: dirty hack to render smart ctor parameter comments.
204-- FIXME: dirty hack to render smart ctor parameter comments.
200comments :: Prefix -> Map Local Solved -> Rendered -> Rendered
205comments :: Prefix -> Map Local Solved -> Rendered -> Rendered
201comments p (Map.toList -> rs) =
206comments p (Map.toList -> rs) =
202− LText.replace " :: " "\n :: "
207+ LText.replace " :: " "\n :: " .
203− . LText.intercalate "\n -> "
208+ LText.intercalate "\n -> " .
204− . zipWith rel ps
205− . map LText.strip
209+ zipWith rel ps . map LText.strip . LText.splitOn "->"
206− . LText.splitOn "->"
207 where
210 where
208 ks = filter (parameter . _schema . snd) rs
211 ks = filter (parameter . _schema . snd) rs
209 ps = map (Just . fst) ks ++ repeat Nothing
212 ps = map (Just . fst) ks ++ repeat Nothing
210−
211− rel Nothing t = t
213+ rel Nothing t = t
212 rel (Just l) t =
214 rel (Just l) t =
213− t <> " -- ^ '" <> fromString (PP.prettyPrint (lname p l)) <> "'"
215+ t <> " -- ^ '" <> fromString (PP.prettyPrint (lname p l)) <> "'"