diff --git a/brittany.cabal b/brittany.cabal index 48f08ca..0c447e9 100644 --- a/brittany.cabal +++ b/brittany.cabal @@ -85,7 +85,6 @@ library { } ghc-options: { -Wall - -fno-warn-unused-imports -fno-warn-redundant-constraints } build-depends: diff --git a/src/Language/Haskell/Brittany.hs b/src/Language/Haskell/Brittany.hs index 4eb99ea..a4fc839 100644 --- a/src/Language/Haskell/Brittany.hs +++ b/src/Language/Haskell/Brittany.hs @@ -21,51 +21,6 @@ where -import Language.Haskell.Brittany.Internal.Prelude -import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO -import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal import Language.Haskell.Brittany.Internal.Types diff --git a/src/Language/Haskell/Brittany/Internal.hs b/src/Language/Haskell/Brittany/Internal.hs index 9bdd6cf..81c7733 100644 --- a/src/Language/Haskell/Brittany/Internal.hs +++ b/src/Language/Haskell/Brittany/Internal.hs @@ -17,60 +17,24 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra import qualified Data.Map as Map import qualified Data.Maybe import qualified Data.Semigroup as Semigroup import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass -- brittany { lconfig_importAsColumn: 60, lconfig_importColumn: 60 } import qualified Language.Haskell.GHC.ExactPrint as ExactPrint import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint import qualified Language.Haskell.GHC.ExactPrint.Parsers as ExactPrint.Parsers -import Data.Data import Control.Monad.Trans.Except import Data.HList.HList import qualified Data.Yaml -import qualified Data.ByteString.Char8 import Data.CZipWith import qualified UI.Butcher.Monadic as Butcher @@ -81,7 +45,6 @@ import Language.Haskell.Brittany.Internal.Config.Types import Language.Haskell.Brittany.Internal.Config import Language.Haskell.Brittany.Internal.LayouterBasics -import Language.Haskell.Brittany.Internal.Layouters.Type import Language.Haskell.Brittany.Internal.Layouters.Decl import Language.Haskell.Brittany.Internal.Layouters.Module import Language.Haskell.Brittany.Internal.Utils @@ -98,12 +61,8 @@ import Language.Haskell.Brittany.Internal.Transformations.Indent import qualified GHC as GHC hiding ( parseModule ) import GHC.Parser.Annotation ( AnnKeywordId(..) ) -import GHC ( Located - , runGhc - , GenLocated(L) - , moduleNameString +import GHC ( GenLocated(L) ) -import GHC.Types.Name.Reader ( RdrName(..) ) import GHC.Types.SrcLoc ( SrcSpan ) import GHC.Hs import GHC.Data.Bag diff --git a/src/Language/Haskell/Brittany/Internal/Backend.hs b/src/Language/Haskell/Brittany/Internal/Backend.hs index a22da90..92c29fb 100644 --- a/src/Language/Haskell/Brittany/Internal/Backend.hs +++ b/src/Language/Haskell/Brittany/Internal/Backend.hs @@ -14,56 +14,19 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable import qualified Data.Foldable as Foldable import qualified Data.IntMap.Lazy as IntMapL import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra import qualified Data.Map as Map -import qualified Data.Maybe import qualified Data.Semigroup as Semigroup import qualified Data.Sequence as Seq import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import qualified Language.Haskell.GHC.ExactPrint as ExactPrint -import qualified Language.Haskell.GHC.ExactPrint.Annotate as ExactPrint.Annotate import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint.Types -import Language.Haskell.GHC.ExactPrint.Types ( AnnKey, Annotation ) - -import GHC ( AnnKeywordId (..) ) import Language.Haskell.Brittany.Internal.LayouterBasics import Language.Haskell.Brittany.Internal.BackendUtils @@ -75,13 +38,6 @@ import Language.Haskell.Brittany.Internal.Types import qualified Data.Text.Lazy.Builder as Text.Builder -import Data.HList.ContainsType - -import Control.Monad.Extra ( whenM ) - -import qualified Control.Monad.Trans.Writer.Strict as WriterS - - type ColIndex = Int diff --git a/src/Language/Haskell/Brittany/Internal/BackendUtils.hs b/src/Language/Haskell/Brittany/Internal/BackendUtils.hs index 99eb46b..93b7dc7 100644 --- a/src/Language/Haskell/Brittany/Internal/BackendUtils.hs +++ b/src/Language/Haskell/Brittany/Internal/BackendUtils.hs @@ -34,62 +34,25 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce import qualified Data.Data import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra import qualified Data.Map as Map import qualified Data.Maybe import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal.Config.Types import Language.Haskell.GHC.ExactPrint.Types ( AnnKey , Annotation - , KeywordId ) import qualified Data.Text.Lazy.Builder as Text.Builder import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint import Language.Haskell.Brittany.Internal.Utils -import GHC ( Located, GenLocated(L), moduleNameString ) +import GHC ( Located ) diff --git a/src/Language/Haskell/Brittany/Internal/Config.hs b/src/Language/Haskell/Brittany/Internal/Config.hs index 904c272..22d7163 100644 --- a/src/Language/Haskell/Brittany/Internal/Config.hs +++ b/src/Language/Haskell/Brittany/Internal/Config.hs @@ -22,68 +22,27 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class import qualified Data.Bool as Bool -import qualified Data.ByteString import qualified Data.ByteString as ByteString import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe import qualified System.Directory import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass - -import Language.Haskell.Brittany.Internal.Types -import Language.Haskell.Brittany.Internal.LayouterBasics import qualified Data.Yaml import Data.CZipWith import UI.Butcher.Monadic -import Data.Monoid ( (<>) ) import qualified System.Console.CmdArgs.Explicit as CmdArgs import Language.Haskell.Brittany.Internal.Config.Types -import Language.Haskell.Brittany.Internal.Config.Types.Instances +import Language.Haskell.Brittany.Internal.Config.Types.Instances () import Language.Haskell.Brittany.Internal.Utils -import Data.Coerce ( Coercible - , coerce +import Data.Coerce ( coerce ) import qualified Data.List.NonEmpty as NonEmpty diff --git a/src/Language/Haskell/Brittany/Internal/Config/Types.hs b/src/Language/Haskell/Brittany/Internal/Config/Types.hs index d596708..e758b2e 100644 --- a/src/Language/Haskell/Brittany/Internal/Config/Types.hs +++ b/src/Language/Haskell/Brittany/Internal/Config/Types.hs @@ -13,53 +13,9 @@ where import Language.Haskell.Brittany.Internal.Prelude -import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe +import Language.Haskell.Brittany.Internal.PreludeUtils () import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO -import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass -import Data.Yaml -import qualified Data.Aeson.Types as Aeson import GHC.Generics import Data.Data ( Data ) diff --git a/src/Language/Haskell/Brittany/Internal/Config/Types/Instances.hs b/src/Language/Haskell/Brittany/Internal/Config/Types/Instances.hs index d0838c0..0ad985c 100644 --- a/src/Language/Haskell/Brittany/Internal/Config/Types/Instances.hs +++ b/src/Language/Haskell/Brittany/Internal/Config/Types/Instances.hs @@ -19,50 +19,6 @@ where import Language.Haskell.Brittany.Internal.Prelude -import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO -import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Data.Yaml import qualified Data.Aeson.Key as Key @@ -70,8 +26,6 @@ import qualified Data.Aeson.Types as Aeson import Language.Haskell.Brittany.Internal.Config.Types -import GHC.Generics - aesonDecodeOptionsBrittany :: Aeson.Options diff --git a/src/Language/Haskell/Brittany/Internal/ExactPrintUtils.hs b/src/Language/Haskell/Brittany/Internal/ExactPrintUtils.hs index 036f5d9..c17e8b1 100644 --- a/src/Language/Haskell/Brittany/Internal/ExactPrintUtils.hs +++ b/src/Language/Haskell/Brittany/Internal/ExactPrintUtils.hs @@ -14,66 +14,24 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class import qualified Control.Monad.State.Class as State.Class import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra import qualified Data.Map as Map import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup import qualified Data.Sequence as Seq import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO -import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass -import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal.Config.Types -import Language.Haskell.Brittany.Internal.Utils import Data.Data import Data.HList.HList -import GHC.Driver.Session ( getDynFlags ) -import GHC ( runGhc, GenLocated(L), moduleNameString ) +import GHC ( GenLocated(L) ) import qualified GHC.Driver.Session as GHC import qualified GHC as GHC hiding (parseModule) -import qualified GHC.Parser as GHC import qualified GHC.Types.SrcLoc as GHC -import qualified GHC.Data.FastString as GHC -import qualified GHC.Parser.Lexer as GHC -import qualified GHC.Data.StringBuffer as GHC -import qualified GHC.Utils.Outputable as GHC import qualified GHC.Driver.CmdLine as GHC import GHC.Hs @@ -83,10 +41,8 @@ import GHC.Types.SrcLoc ( SrcSpan, Located ) import qualified Language.Haskell.GHC.ExactPrint as ExactPrint -import qualified Language.Haskell.GHC.ExactPrint.Annotate as ExactPrint import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint import qualified Language.Haskell.GHC.ExactPrint.Parsers as ExactPrint -import qualified Language.Haskell.GHC.ExactPrint.Preprocess as ExactPrint import qualified Language.Haskell.GHC.ExactPrint.Delta as ExactPrint import qualified Data.Generics as SYB diff --git a/src/Language/Haskell/Brittany/Internal/LayouterBasics.hs b/src/Language/Haskell/Brittany/Internal/LayouterBasics.hs index 2c1a37d..296f3ba 100644 --- a/src/Language/Haskell/Brittany/Internal/LayouterBasics.hs +++ b/src/Language/Haskell/Brittany/Internal/LayouterBasics.hs @@ -82,49 +82,13 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra import qualified Data.Map as Map -import qualified Data.Maybe import qualified Data.Semigroup as Semigroup import qualified Data.Sequence as Seq import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import qualified Control.Monad.Writer.Strict as Writer @@ -134,7 +98,7 @@ import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint.Types import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint import qualified Language.Haskell.GHC.ExactPrint.Utils as ExactPrint.Utils -import Language.Haskell.GHC.ExactPrint.Types ( AnnKey, Annotation, KeywordId ) +import Language.Haskell.GHC.ExactPrint.Types ( AnnKey, Annotation ) import qualified Data.Text.Lazy.Builder as Text.Builder @@ -144,7 +108,7 @@ import Language.Haskell.Brittany.Internal.Utils import Language.Haskell.Brittany.Internal.ExactPrintUtils import GHC.Types.Name.Reader ( RdrName(..) ) -import GHC ( Located, runGhc, GenLocated(L), moduleNameString ) +import GHC ( Located, GenLocated(L), moduleNameString ) import qualified GHC.Types.SrcLoc as GHC import GHC.Types.Name.Occurrence ( occNameString ) import GHC.Types.Name ( getOccString ) @@ -152,14 +116,11 @@ import GHC ( moduleName ) import GHC.Parser.Annotation ( AnnKeywordId(..) ) import Data.Data -import Data.Generics.Schemes import qualified Data.Char as Char import DataTreePrint -import Data.HList.HList - processDefault diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/DataDecl.hs b/src/Language/Haskell/Brittany/Internal/Layouters/DataDecl.hs index 243dbf6..59a54bb 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/DataDecl.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/DataDecl.hs @@ -12,69 +12,20 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal.LayouterBasics import Language.Haskell.Brittany.Internal.Config.Types -import GHC.Types.Name.Reader ( RdrName(..) ) -import GHC ( Located, runGhc, GenLocated(L), moduleNameString ) +import GHC ( Located, GenLocated(L) ) import qualified GHC import GHC.Hs -import GHC.Types.Name -import GHC.Types.Basic -import Language.Haskell.GHC.ExactPrint.Types ( mkAnnKey ) import Language.Haskell.Brittany.Internal.Layouters.Type -import {-# SOURCE #-} Language.Haskell.Brittany.Internal.Layouters.Expr -import {-# SOURCE #-} Language.Haskell.Brittany.Internal.Layouters.Stmt -import Language.Haskell.Brittany.Internal.Layouters.Pattern -import Language.Haskell.Brittany.Internal.Utils - -import GHC.Data.Bag ( mapBagM ) diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/Decl.hs b/src/Language/Haskell/Brittany/Internal/Layouters/Decl.hs index 38843f6..47a9514 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/Decl.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/Decl.hs @@ -20,49 +20,12 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce import qualified Data.Data -import qualified Data.Either import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map import qualified Data.Maybe import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal.LayouterBasics @@ -70,21 +33,15 @@ import Language.Haskell.Brittany.Internal.Config.Types import Language.Haskell.Brittany.Internal.Layouters.Type import qualified Language.Haskell.GHC.ExactPrint as ExactPrint -import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint import qualified Language.Haskell.GHC.ExactPrint.Utils as ExactPrint import Language.Haskell.Brittany.Internal.ExactPrintUtils -import Language.Haskell.Brittany.Internal.Utils -import GHC ( runGhc - , GenLocated(L) - , moduleNameString +import GHC ( GenLocated(L) , AnnKeywordId(..) ) -import GHC.Types.SrcLoc ( SrcSpan, noSrcSpan, Located , getLoc, unLoc ) +import GHC.Types.SrcLoc ( SrcSpan, Located , getLoc, unLoc ) import qualified GHC.Data.FastString as FastString import GHC.Hs -import GHC.Hs.Extension (NoExtField (..)) -import GHC.Types.Name import GHC.Types.Basic ( InlinePragma(..) , Activation(..) , InlineSpec(..) @@ -93,14 +50,12 @@ import GHC.Types.Basic ( InlinePragma(..) ) import Language.Haskell.GHC.ExactPrint.Types ( mkAnnKey ) -import Language.Haskell.Brittany.Internal.Layouters.Type import {-# SOURCE #-} Language.Haskell.Brittany.Internal.Layouters.Expr import {-# SOURCE #-} Language.Haskell.Brittany.Internal.Layouters.Stmt import Language.Haskell.Brittany.Internal.Layouters.Pattern import Language.Haskell.Brittany.Internal.Layouters.DataDecl -import GHC.Data.Bag ( mapBagM, bagToList, emptyBag ) -import Data.Char (isUpper) +import GHC.Data.Bag ( bagToList, emptyBag ) diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/Expr.hs b/src/Language/Haskell/Brittany/Internal/Layouters/Expr.hs index 1386816..f2b9674 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/Expr.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/Expr.hs @@ -12,57 +12,17 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe import qualified Data.Semigroup as Semigroup import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal.LayouterBasics import Language.Haskell.Brittany.Internal.Config.Types -import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint.Types - -import GHC ( runGhc, GenLocated(L), SrcSpan, moduleNameString, AnnKeywordId(..), RdrName(..) ) +import GHC ( GenLocated(L), SrcSpan, AnnKeywordId(..), RdrName(..) ) import GHC.Hs import GHC.Types.Name import qualified GHC.Data.FastString as FastString diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/Expr.hs-boot b/src/Language/Haskell/Brittany/Internal/Layouters/Expr.hs-boot index 8e77eda..1c748f0 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/Expr.hs-boot +++ b/src/Language/Haskell/Brittany/Internal/Layouters/Expr.hs-boot @@ -10,57 +10,10 @@ where import Language.Haskell.Brittany.Internal.Prelude -import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO -import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Types -import Language.Haskell.Brittany.Internal.LayouterBasics -import GHC ( runGhc, GenLocated(L), moduleNameString ) import GHC.Hs -import GHC.Types.Name diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/IE.hs b/src/Language/Haskell/Brittany/Internal/Layouters/IE.hs index 89945cd..b7b3bb3 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/IE.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/IE.hs @@ -7,57 +7,14 @@ module Language.Haskell.Brittany.Internal.Layouters.IE where import Language.Haskell.Brittany.Internal.Prelude -import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal.LayouterBasics -import Language.Haskell.Brittany.Internal.Config.Types import GHC ( unLoc - , runGhc , GenLocated(L) , moduleNameString , AnnKeywordId(..) @@ -65,11 +22,6 @@ import GHC ( unLoc , ModuleName ) import GHC.Hs -import GHC.Hs.ImpExp -import GHC.Types.Name -import GHC.Types.FieldLabel -import qualified GHC.Data.FastString -import GHC.Types.Basic import Language.Haskell.Brittany.Internal.Utils diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/Import.hs b/src/Language/Haskell/Brittany/Internal/Layouters/Import.hs index 1eae5d6..128c13f 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/Import.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/Import.hs @@ -2,49 +2,8 @@ module Language.Haskell.Brittany.Internal.Layouters.Import (layoutImport) where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO -import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal.LayouterBasics @@ -57,14 +16,8 @@ import GHC ( unLoc , Located ) import GHC.Hs -import GHC.Types.Name -import GHC.Types.FieldLabel -import qualified GHC.Data.FastString import GHC.Types.Basic import GHC.Unit.Types (IsBootInterface(..)) -import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint.Types - -import Language.Haskell.Brittany.Internal.Utils diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/Module.hs b/src/Language/Haskell/Brittany/Internal/Layouters/Module.hs index 014b9fe..48d789b 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/Module.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/Module.hs @@ -4,49 +4,10 @@ module Language.Haskell.Brittany.Internal.Layouters.Module (layoutModule) where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map import qualified Data.Maybe import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal.LayouterBasics @@ -54,23 +15,15 @@ import Language.Haskell.Brittany.Internal.Layouters.IE import Language.Haskell.Brittany.Internal.Layouters.Import import Language.Haskell.Brittany.Internal.Config.Types -import GHC (unLoc, runGhc, GenLocated(L), moduleNameString, AnnKeywordId(..)) +import GHC (unLoc, GenLocated(L), moduleNameString, AnnKeywordId(..)) import GHC.Hs -import GHC.Hs.ImpExp -import GHC.Types.Name -import GHC.Types.FieldLabel -import qualified GHC.Data.FastString -import GHC.Types.Basic import Language.Haskell.GHC.ExactPrint as ExactPrint -import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint.Types import Language.Haskell.GHC.ExactPrint.Types ( DeltaPos(..) , deltaRow , commentContents ) -import Language.Haskell.Brittany.Internal.Utils - layoutModule :: ToBriDoc' HsModule diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/Pattern.hs b/src/Language/Haskell/Brittany/Internal/Layouters/Pattern.hs index bf5b8e0..9bc39cf 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/Pattern.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/Pattern.hs @@ -11,62 +11,18 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal.LayouterBasics -import GHC ( Located - , runGhc - , GenLocated(L) - , moduleNameString +import GHC ( GenLocated(L) , ol_val ) -import qualified GHC import GHC.Hs -import GHC.Types.Name import GHC.Types.Basic import {-# SOURCE #-} Language.Haskell.Brittany.Internal.Layouters.Expr diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs b/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs index 30867aa..2af1ada 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs @@ -9,62 +9,16 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO -import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal.LayouterBasics import Language.Haskell.Brittany.Internal.Config.Types -import GHC ( runGhc - , GenLocated(L) - , moduleNameString +import GHC ( GenLocated(L) ) import GHC.Hs -import GHC.Types.Name -import qualified GHC.Data.FastString as FastString -import GHC.Types.Basic import Language.Haskell.Brittany.Internal.Layouters.Pattern import Language.Haskell.Brittany.Internal.Layouters.Decl diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs-boot b/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs-boot index 94f0d3c..1b35a55 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs-boot +++ b/src/Language/Haskell/Brittany/Internal/Layouters/Stmt.hs-boot @@ -8,59 +8,10 @@ where import Language.Haskell.Brittany.Internal.Prelude -import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO -import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Types -import Language.Haskell.Brittany.Internal.LayouterBasics -import GHC ( runGhc, GenLocated(L), moduleNameString ) import GHC.Hs -import GHC.Types.Name -import qualified GHC.Data.FastString -import GHC.Types.Basic diff --git a/src/Language/Haskell/Brittany/Internal/Layouters/Type.hs b/src/Language/Haskell/Brittany/Internal/Layouters/Type.hs index aac5453..4aead4e 100644 --- a/src/Language/Haskell/Brittany/Internal/Layouters/Type.hs +++ b/src/Language/Haskell/Brittany/Internal/Layouters/Type.hs @@ -11,51 +11,9 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass -import Language.Haskell.Brittany.Internal.Config.Types import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal.LayouterBasics import Language.Haskell.Brittany.Internal.Utils @@ -63,19 +21,12 @@ import Language.Haskell.Brittany.Internal.Utils , FirstLastView(..) ) -import GHC ( runGhc - , GenLocated(L) - , moduleNameString +import GHC ( GenLocated(L) , AnnKeywordId (..) ) -import Language.Haskell.GHC.ExactPrint.Types ( mkAnnKey ) import GHC.Hs -import GHC.Types.Name import GHC.Utils.Outputable ( ftext, showSDocUnsafe ) import GHC.Types.Basic -import qualified GHC.Types.SrcLoc - -import DataTreePrint diff --git a/src/Language/Haskell/Brittany/Internal/Obfuscation.hs b/src/Language/Haskell/Brittany/Internal/Obfuscation.hs index 7aa2ed6..a214325 100644 --- a/src/Language/Haskell/Brittany/Internal/Obfuscation.hs +++ b/src/Language/Haskell/Brittany/Internal/Obfuscation.hs @@ -7,49 +7,10 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Data.Char import System.Random diff --git a/src/Language/Haskell/Brittany/Internal/Prelude.hs b/src/Language/Haskell/Brittany/Internal/Prelude.hs index 6c52450..b6c4423 100644 --- a/src/Language/Haskell/Brittany/Internal/Prelude.hs +++ b/src/Language/Haskell/Brittany/Internal/Prelude.hs @@ -11,7 +11,6 @@ where import GHC.Hs.Extension as E ( GhcPs ) import GHC.Types.Name.Reader as E ( RdrName ) -import qualified GHC ( Located ) -- more general: @@ -56,21 +55,11 @@ import Data.Set as E ( Set ) import Data.Text as E ( Text ) -import Prelude as E ( Char - , String - , Int - , Integer - , Float - , Double - , Bool (..) - , undefined +import Prelude as E ( undefined , Eq (..) , Ord (..) , Enum (..) , Bounded (..) - , Maybe (..) - , Either (..) - , IO , (<$>) , (.) , ($) @@ -101,7 +90,6 @@ import Prelude as E ( Char , (||) , curry , uncurry - , Ordering (..) , flip , const , seq @@ -184,14 +172,12 @@ import Data.Word as E ( Word32 ) import Data.Ord as E ( comparing - , Down (..) ) import Data.Either as E ( either ) -import Data.Ratio as E ( Ratio - , (%) +import Data.Ratio as E ( (%) , numerator , denominator ) @@ -240,8 +226,7 @@ import Control.Concurrent as E ( threadDelay , forkOS ) -import Control.Concurrent.MVar as E ( MVar - , newEmptyMVar +import Control.Concurrent.MVar as E ( newEmptyMVar , newMVar , putMVar , readMVar @@ -273,7 +258,7 @@ import Data.Monoid as E ( mconcat ) import Data.Bifunctor as E ( bimap ) -import Data.Functor as E ( (<$), ($>) ) +import Data.Functor as E ( ($>) ) import Data.Function as E ( (&) ) import Data.Semigroup as E ( (<>) , Semigroup(..) @@ -293,12 +278,6 @@ import Control.Arrow as E ( first , (<<<) ) -import Data.Functor.Identity as E ( Identity (..) - ) - -import Data.Proxy as E ( Proxy (..) - ) - import Data.Version as E ( showVersion ) @@ -372,15 +351,6 @@ import Control.Monad.Trans.MultiRWS as E ( -- MultiRWST (..) -- , mPutRawS ) -import Control.Monad.Trans.MultiReader ( runMultiReaderTNil - , runMultiReaderTNil_ - , MultiReaderT (..) - , MultiReader - , MultiReaderTNull - ) - -import Data.Text as E ( Text ) - import Control.Monad.IO.Class as E ( MonadIO (..) ) diff --git a/src/Language/Haskell/Brittany/Internal/Transformations/Alt.hs b/src/Language/Haskell/Brittany/Internal/Transformations/Alt.hs index 7e5677b..79f4f38 100644 --- a/src/Language/Haskell/Brittany/Internal/Transformations/Alt.hs +++ b/src/Language/Haskell/Brittany/Internal/Transformations/Alt.hs @@ -11,49 +11,11 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Data.HList.ContainsType diff --git a/src/Language/Haskell/Brittany/Internal/Transformations/Columns.hs b/src/Language/Haskell/Brittany/Internal/Transformations/Columns.hs index f10853d..c1da956 100644 --- a/src/Language/Haskell/Brittany/Internal/Transformations/Columns.hs +++ b/src/Language/Haskell/Brittany/Internal/Transformations/Columns.hs @@ -6,53 +6,8 @@ where import Language.Haskell.Brittany.Internal.Prelude -import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass -import Language.Haskell.Brittany.Internal.Utils -import Language.Haskell.Brittany.Internal.Config.Types import Language.Haskell.Brittany.Internal.Types import qualified Data.Generics.Uniplate.Direct as Uniplate diff --git a/src/Language/Haskell/Brittany/Internal/Transformations/Floating.hs b/src/Language/Haskell/Brittany/Internal/Transformations/Floating.hs index 992d3b0..8ffb116 100644 --- a/src/Language/Haskell/Brittany/Internal/Transformations/Floating.hs +++ b/src/Language/Haskell/Brittany/Internal/Transformations/Floating.hs @@ -7,52 +7,9 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Utils -import Language.Haskell.Brittany.Internal.Config.Types import Language.Haskell.Brittany.Internal.Types import qualified Data.Generics.Uniplate.Direct as Uniplate diff --git a/src/Language/Haskell/Brittany/Internal/Transformations/Indent.hs b/src/Language/Haskell/Brittany/Internal/Transformations/Indent.hs index f1c43b2..de5526f 100644 --- a/src/Language/Haskell/Brittany/Internal/Transformations/Indent.hs +++ b/src/Language/Haskell/Brittany/Internal/Transformations/Indent.hs @@ -6,53 +6,8 @@ where import Language.Haskell.Brittany.Internal.Prelude -import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass -import Language.Haskell.Brittany.Internal.Utils -import Language.Haskell.Brittany.Internal.Config.Types import Language.Haskell.Brittany.Internal.Types import qualified Data.Generics.Uniplate.Direct as Uniplate diff --git a/src/Language/Haskell/Brittany/Internal/Transformations/Par.hs b/src/Language/Haskell/Brittany/Internal/Transformations/Par.hs index f1b3973..7dc5c5a 100644 --- a/src/Language/Haskell/Brittany/Internal/Transformations/Par.hs +++ b/src/Language/Haskell/Brittany/Internal/Transformations/Par.hs @@ -6,57 +6,10 @@ where import Language.Haskell.Brittany.Internal.Prelude -import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO -import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import Language.Haskell.Brittany.Internal.Utils -import Language.Haskell.Brittany.Internal.Config.Types import Language.Haskell.Brittany.Internal.Types -import qualified Data.Generics.Uniplate.Direct as Uniplate - transformSimplifyPar :: BriDoc -> BriDoc diff --git a/src/Language/Haskell/Brittany/Internal/Types.hs b/src/Language/Haskell/Brittany/Internal/Types.hs index f04d2a6..c95aa7c 100644 --- a/src/Language/Haskell/Brittany/Internal/Types.hs +++ b/src/Language/Haskell/Brittany/Internal/Types.hs @@ -11,60 +11,20 @@ where import Language.Haskell.Brittany.Internal.Prelude -import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe -import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO -import qualified GHC.OldList as List import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass import qualified Language.Haskell.GHC.ExactPrint as ExactPrint import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint.Types import qualified Data.Text.Lazy.Builder as Text.Builder -import GHC ( Located, runGhc, GenLocated(L), moduleNameString, AnnKeywordId, SrcSpan ) +import GHC ( Located, GenLocated, AnnKeywordId, SrcSpan ) -import Language.Haskell.GHC.ExactPrint ( AnnKey, Comment ) -import Language.Haskell.GHC.ExactPrint.Types ( KeywordId, Anns, DeltaPos, mkAnnKey ) +import Language.Haskell.GHC.ExactPrint ( AnnKey ) +import Language.Haskell.GHC.ExactPrint.Types ( Anns ) import Language.Haskell.Brittany.Internal.Config.Types diff --git a/src/Language/Haskell/Brittany/Internal/Utils.hs b/src/Language/Haskell/Brittany/Internal/Utils.hs index 43f9382..38cf006 100644 --- a/src/Language/Haskell/Brittany/Internal/Utils.hs +++ b/src/Language/Haskell/Brittany/Internal/Utils.hs @@ -34,61 +34,18 @@ where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class -import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL import qualified Data.Coerce -import qualified Data.Data -import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS -import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe import qualified Data.Semigroup as Semigroup import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict -import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding -import qualified Data.Text.IO as Text.IO -import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory -import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass -import qualified Language.Haskell.GHC.ExactPrint as ExactPrint -import qualified Language.Haskell.GHC.ExactPrint.Annotate as ExactPrint.Annotate import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint.Types import qualified Language.Haskell.GHC.ExactPrint.Utils as ExactPrint.Utils import Data.Data -import Data.Generics.Schemes import Data.Generics.Aliases import qualified Text.PrettyPrint as PP -import Text.PrettyPrint ( ($+$), (<+>) ) import qualified GHC.Utils.Outputable as GHC import qualified GHC.Driver.Session as GHC diff --git a/src/Language/Haskell/Brittany/Main.hs b/src/Language/Haskell/Brittany/Main.hs index 354c2ce..1ffa822 100644 --- a/src/Language/Haskell/Brittany/Main.hs +++ b/src/Language/Haskell/Brittany/Main.hs @@ -6,57 +6,18 @@ module Language.Haskell.Brittany.Main (main) where import Language.Haskell.Brittany.Internal.Prelude import Language.Haskell.Brittany.Internal.PreludeUtils -import qualified Control.Monad.Reader.Class as Reader.Class -import qualified Control.Monad.RWS.Class as RWS.Class -import qualified Control.Monad.State.Class as State.Class import qualified Control.Monad.Trans.Except as ExceptT -import qualified Control.Monad.Trans.MultiRWS.Lazy as MultiRWSL -import qualified Control.Monad.Trans.MultiRWS.Strict as MultiRWSS -import qualified Control.Monad.Trans.State as State -import qualified Control.Monad.Trans.State.Lazy as StateL -import qualified Control.Monad.Trans.State.Strict as StateS -import qualified Control.Monad.Writer.Class as Writer.Class -import qualified Data.Bool as Bool -import qualified Data.ByteString -import qualified Data.ByteString as ByteString -import qualified Data.ByteString.Char8 -import qualified Data.ByteString.Lazy as ByteStringL -import qualified Data.Coerce -import qualified Data.Data import qualified Data.Either -import qualified Data.Foldable -import qualified Data.Foldable as Foldable -import qualified Data.IntMap.Lazy as IntMapL -import qualified Data.IntMap.Strict as IntMapS import qualified Data.List.Extra -import qualified Data.Map as Map -import qualified Data.Maybe import qualified Data.Semigroup as Semigroup -import qualified Data.Sequence as Seq -import qualified Data.Set as Set -import qualified Data.Strict.Maybe as Strict import qualified Data.Text as Text -import qualified Data.Text.Encoding as Text.Encoding import qualified Data.Text.IO as Text.IO import qualified Data.Text.Lazy as TextL -import qualified Data.Text.Lazy.Encoding as TextL.Encoding -import qualified Data.Text.Lazy.IO as TextL.IO import qualified GHC.OldList as List -import qualified Safe as Safe -import qualified System.Directory import qualified System.IO -import qualified Text.PrettyPrint -import qualified Text.PrettyPrint.Annotated -import qualified Text.PrettyPrint.Annotated.HughesPJ -import qualified Text.PrettyPrint.Annotated.HughesPJClass -- brittany { lconfig_importAsColumn: 60, lconfig_importColumn: 60 } import qualified Language.Haskell.GHC.ExactPrint as ExactPrint -import qualified Language.Haskell.GHC.ExactPrint.Annotate - as ExactPrint.Annotate -import qualified Language.Haskell.GHC.ExactPrint.Types as ExactPrint.Types -import qualified Language.Haskell.GHC.ExactPrint.Parsers as ExactPrint.Parsers -import qualified Data.Map as Map import qualified Data.Monoid import GHC ( GenLocated(L) ) @@ -67,13 +28,10 @@ import GHC.Utils.Outputable ( Outputable import Text.Read ( Read(..) ) import qualified Text.ParserCombinators.ReadP as ReadP import qualified Text.ParserCombinators.ReadPrec as ReadPrec -import qualified Data.Text.Lazy.Builder as Text.Builder import Control.Monad ( zipWithM ) import Data.CZipWith -import qualified Debug.Trace as Trace - import Language.Haskell.Brittany.Internal.Types import Language.Haskell.Brittany.Internal import Language.Haskell.Brittany.Internal.Config