From ee55da49080d6f6134f02b706a71083e8738f8d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gr=C3=B6ber?= Date: Thu, 12 Jan 2017 16:36:47 +0100 Subject: [PATCH] Prepare for splitting off ghc-mod-core eventually --- Language/Haskell/GhcMod.hs => GhcMod.hs | 40 +++++++++--------- {Language/Haskell/GhcMod => GhcMod}/Boot.hs | 11 ++--- {Language/Haskell/GhcMod => GhcMod}/Browse.hs | 2 +- .../Haskell/GhcMod => GhcMod}/CaseSplit.hs | 2 +- {Language/Haskell/GhcMod => GhcMod}/Check.hs | 2 +- {Language/Haskell/GhcMod => GhcMod}/Debug.hs | 19 +++++---- .../Haskell/GhcMod => GhcMod}/FillSig.hs | 2 +- {Language/Haskell/GhcMod => GhcMod}/Find.hs | 2 +- {Language/Haskell/GhcMod => GhcMod}/Flag.hs | 2 +- {Language/Haskell/GhcMod => GhcMod}/Info.hs | 4 +- .../Haskell/GhcMod => GhcMod}/Internal.hs | 2 +- {Language/Haskell/GhcMod => GhcMod}/Lang.hs | 2 +- {Language/Haskell/GhcMod => GhcMod}/Lint.hs | 2 +- .../Haskell/GhcMod => GhcMod}/Modules.hs | 2 +- {Language/Haskell/GhcMod => GhcMod}/PkgDoc.hs | 2 +- {Language/Haskell/GhcMod => GhcMod}/Test.hs | 2 +- .../Language}/Haskell/GhcMod/CabalHelper.hs | 0 .../Language}/Haskell/GhcMod/Caching.hs | 0 .../Language}/Haskell/GhcMod/Caching/Types.hs | 0 .../Language}/Haskell/GhcMod/Convert.hs | 0 .../Language}/Haskell/GhcMod/Cradle.hs | 0 .../Haskell/GhcMod/CustomPackageDb.hs | 0 .../Language}/Haskell/GhcMod/DebugLogger.hs | 0 .../Language}/Haskell/GhcMod/Doc.hs | 0 .../Language}/Haskell/GhcMod/DynFlags.hs | 0 .../Language}/Haskell/GhcMod/DynFlagsTH.hs | 0 .../Language}/Haskell/GhcMod/Error.hs | 0 .../Language}/Haskell/GhcMod/FileMapping.hs | 0 .../Language}/Haskell/GhcMod/Gap.hs | 0 .../Language}/Haskell/GhcMod/GhcPkg.hs | 0 .../Haskell/GhcMod/HomeModuleGraph.hs | 0 .../Language}/Haskell/GhcMod/LightGhc.hs | 0 .../Language}/Haskell/GhcMod/Logger.hs | 0 .../Language}/Haskell/GhcMod/Logging.hs | 0 .../Language}/Haskell/GhcMod/Monad.hs | 0 .../Haskell/GhcMod/Monad/Compat.hs_h | 0 .../Language}/Haskell/GhcMod/Monad/Env.hs | 0 .../Language}/Haskell/GhcMod/Monad/Log.hs | 0 .../Haskell/GhcMod/Monad/Newtypes.hs | 0 .../Language}/Haskell/GhcMod/Monad/Orphans.hs | 0 .../Language}/Haskell/GhcMod/Monad/Out.hs | 0 .../Language}/Haskell/GhcMod/Monad/State.hs | 0 .../Language}/Haskell/GhcMod/Monad/Types.hs | 0 .../Haskell/GhcMod/Options/DocUtils.hs | 0 .../Language}/Haskell/GhcMod/Options/Help.hs | 0 .../Haskell/GhcMod/Options/Options.hs | 0 .../Language}/Haskell/GhcMod/Output.hs | 0 .../Language}/Haskell/GhcMod/PathsAndFiles.hs | 0 .../Language}/Haskell/GhcMod/Pretty.hs | 0 .../Language}/Haskell/GhcMod/Read.hs | 0 .../Language}/Haskell/GhcMod/SrcUtils.hs | 0 .../Language}/Haskell/GhcMod/Stack.hs | 0 .../Language}/Haskell/GhcMod/Target.hs | 0 .../Language}/Haskell/GhcMod/Types.hs | 0 .../Language}/Haskell/GhcMod/Utils.hs | 0 .../Language}/Haskell/GhcMod/World.hs | 0 ghc-mod.cabal | 42 ++++++++++--------- src/GHCMod.hs | 16 +++---- src/GHCMod/Options.hs | 6 +-- test/BrowseSpec.hs | 2 +- test/CaseSplitSpec.hs | 2 +- test/CheckSpec.hs | 2 +- test/FileMappingSpec.hs | 2 +- test/FindSpec.hs | 2 +- test/FlagSpec.hs | 2 +- test/InfoSpec.hs | 2 +- test/LangSpec.hs | 2 +- test/LintSpec.hs | 2 +- test/ListSpec.hs | 2 +- test/Main.hs | 2 +- test/doctests.hs | 7 ++-- 71 files changed, 99 insertions(+), 92 deletions(-) rename Language/Haskell/GhcMod.hs => GhcMod.hs (70%) rename {Language/Haskell/GhcMod => GhcMod}/Boot.hs (75%) rename {Language/Haskell/GhcMod => GhcMod}/Browse.hs (99%) rename {Language/Haskell/GhcMod => GhcMod}/CaseSplit.hs (99%) rename {Language/Haskell/GhcMod => GhcMod}/Check.hs (97%) rename {Language/Haskell/GhcMod => GhcMod}/Debug.hs (97%) rename {Language/Haskell/GhcMod => GhcMod}/FillSig.hs (99%) rename {Language/Haskell/GhcMod => GhcMod}/Find.hs (99%) rename {Language/Haskell/GhcMod => GhcMod}/Flag.hs (87%) rename {Language/Haskell/GhcMod => GhcMod}/Info.hs (98%) rename {Language/Haskell/GhcMod => GhcMod}/Internal.hs (97%) rename {Language/Haskell/GhcMod => GhcMod}/Lang.hs (85%) rename {Language/Haskell/GhcMod => GhcMod}/Lint.hs (96%) rename {Language/Haskell/GhcMod => GhcMod}/Modules.hs (94%) rename {Language/Haskell/GhcMod => GhcMod}/PkgDoc.hs (94%) rename {Language/Haskell/GhcMod => GhcMod}/Test.hs (96%) rename {Language => core/Language}/Haskell/GhcMod/CabalHelper.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Caching.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Caching/Types.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Convert.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Cradle.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/CustomPackageDb.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/DebugLogger.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Doc.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/DynFlags.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/DynFlagsTH.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Error.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/FileMapping.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Gap.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/GhcPkg.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/HomeModuleGraph.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/LightGhc.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Logger.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Logging.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Monad.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Monad/Compat.hs_h (100%) rename {Language => core/Language}/Haskell/GhcMod/Monad/Env.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Monad/Log.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Monad/Newtypes.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Monad/Orphans.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Monad/Out.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Monad/State.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Monad/Types.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Options/DocUtils.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Options/Help.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Options/Options.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Output.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/PathsAndFiles.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Pretty.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Read.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/SrcUtils.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Stack.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Target.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Types.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/Utils.hs (100%) rename {Language => core/Language}/Haskell/GhcMod/World.hs (100%) diff --git a/Language/Haskell/GhcMod.hs b/GhcMod.hs similarity index 70% rename from Language/Haskell/GhcMod.hs rename to GhcMod.hs index 44d78f8..7586ff3 100644 --- a/Language/Haskell/GhcMod.hs +++ b/GhcMod.hs @@ -1,6 +1,6 @@ -- | The ghc-mod library. -module Language.Haskell.GhcMod ( +module GhcMod ( -- * Cradle Cradle(..) , Project(..) @@ -69,24 +69,24 @@ module Language.Haskell.GhcMod ( , unloadMappedFile ) where -import Language.Haskell.GhcMod.Boot -import Language.Haskell.GhcMod.Browse -import Language.Haskell.GhcMod.CaseSplit -import Language.Haskell.GhcMod.Check +import GhcMod.Boot +import GhcMod.Browse +import GhcMod.CaseSplit +import GhcMod.Check +import GhcMod.Debug +import GhcMod.FillSig +import GhcMod.Find +import GhcMod.Flag +import GhcMod.Info +import GhcMod.Lang +import GhcMod.Lint +import GhcMod.Modules +import GhcMod.PkgDoc +import GhcMod.Test import Language.Haskell.GhcMod.Cradle -import Language.Haskell.GhcMod.Debug -import Language.Haskell.GhcMod.FillSig -import Language.Haskell.GhcMod.Find -import Language.Haskell.GhcMod.Flag -import Language.Haskell.GhcMod.Info -import Language.Haskell.GhcMod.Lang -import Language.Haskell.GhcMod.Lint -import Language.Haskell.GhcMod.Logging -import Language.Haskell.GhcMod.Modules -import Language.Haskell.GhcMod.Monad -import Language.Haskell.GhcMod.PkgDoc -import Language.Haskell.GhcMod.Types -import Language.Haskell.GhcMod.Target -import Language.Haskell.GhcMod.Output import Language.Haskell.GhcMod.FileMapping -import Language.Haskell.GhcMod.Test +import Language.Haskell.GhcMod.Logging +import Language.Haskell.GhcMod.Monad +import Language.Haskell.GhcMod.Output +import Language.Haskell.GhcMod.Target +import Language.Haskell.GhcMod.Types diff --git a/Language/Haskell/GhcMod/Boot.hs b/GhcMod/Boot.hs similarity index 75% rename from Language/Haskell/GhcMod/Boot.hs rename to GhcMod/Boot.hs index b4652c7..cb39c03 100644 --- a/Language/Haskell/GhcMod/Boot.hs +++ b/GhcMod/Boot.hs @@ -1,12 +1,13 @@ -module Language.Haskell.GhcMod.Boot where +module GhcMod.Boot where import Control.Applicative import Prelude -import Language.Haskell.GhcMod.Browse -import Language.Haskell.GhcMod.Flag -import Language.Haskell.GhcMod.Lang + +import GhcMod.Browse +import GhcMod.Flag +import GhcMod.Lang +import GhcMod.Modules import Language.Haskell.GhcMod.Monad -import Language.Haskell.GhcMod.Modules import Language.Haskell.GhcMod.Types (defaultBrowseOpts) -- | Printing necessary information for front-end booting. diff --git a/Language/Haskell/GhcMod/Browse.hs b/GhcMod/Browse.hs similarity index 99% rename from Language/Haskell/GhcMod/Browse.hs rename to GhcMod/Browse.hs index ef87d57..04e9599 100644 --- a/Language/Haskell/GhcMod/Browse.hs +++ b/GhcMod/Browse.hs @@ -1,5 +1,5 @@ {-# LANGUAGE CPP #-} -module Language.Haskell.GhcMod.Browse ( +module GhcMod.Browse ( browse, BrowseOpts(..) ) where diff --git a/Language/Haskell/GhcMod/CaseSplit.hs b/GhcMod/CaseSplit.hs similarity index 99% rename from Language/Haskell/GhcMod/CaseSplit.hs rename to GhcMod/CaseSplit.hs index cbb3b51..f2dadfb 100644 --- a/Language/Haskell/GhcMod/CaseSplit.hs +++ b/GhcMod/CaseSplit.hs @@ -1,6 +1,6 @@ {-# LANGUAGE CPP #-} -module Language.Haskell.GhcMod.CaseSplit ( +module GhcMod.CaseSplit ( splits ) where diff --git a/Language/Haskell/GhcMod/Check.hs b/GhcMod/Check.hs similarity index 97% rename from Language/Haskell/GhcMod/Check.hs rename to GhcMod/Check.hs index 1cf52a2..80b27f8 100644 --- a/Language/Haskell/GhcMod/Check.hs +++ b/GhcMod/Check.hs @@ -1,4 +1,4 @@ -module Language.Haskell.GhcMod.Check ( +module GhcMod.Check ( checkSyntax , check , expandTemplate diff --git a/Language/Haskell/GhcMod/Debug.hs b/GhcMod/Debug.hs similarity index 97% rename from Language/Haskell/GhcMod/Debug.hs rename to GhcMod/Debug.hs index 9f391cc..eb2a4eb 100644 --- a/Language/Haskell/GhcMod/Debug.hs +++ b/GhcMod/Debug.hs @@ -1,4 +1,4 @@ -module Language.Haskell.GhcMod.Debug (debugInfo, rootInfo, componentInfo) where +module GhcMod.Debug (debugInfo, rootInfo, componentInfo) where import Control.Arrow (first) import Control.Applicative @@ -9,20 +9,21 @@ import Data.Char import Data.Version import Data.List.Split import System.Directory -import Pretty -import Language.Haskell.GhcMod.Monad -import Language.Haskell.GhcMod.Types -import Language.Haskell.GhcMod.Internal -import Language.Haskell.GhcMod.Target -import Language.Haskell.GhcMod.Pretty -import Language.Haskell.GhcMod.Utils + +import GhcMod.Internal import Language.Haskell.GhcMod.Cradle -import Language.Haskell.GhcMod.Stack +import Language.Haskell.GhcMod.Monad import Language.Haskell.GhcMod.Output +import Language.Haskell.GhcMod.Pretty +import Language.Haskell.GhcMod.Stack +import Language.Haskell.GhcMod.Target +import Language.Haskell.GhcMod.Types +import Language.Haskell.GhcMod.Utils import Paths_ghc_mod (version) import Config (cProjectVersion) +import Pretty ---------------------------------------------------------------- diff --git a/Language/Haskell/GhcMod/FillSig.hs b/GhcMod/FillSig.hs similarity index 99% rename from Language/Haskell/GhcMod/FillSig.hs rename to GhcMod/FillSig.hs index 0b7c54a..df5f98d 100644 --- a/Language/Haskell/GhcMod/FillSig.hs +++ b/GhcMod/FillSig.hs @@ -1,7 +1,7 @@ {-# LANGUAGE CPP, MultiParamTypeClasses, FunctionalDependencies #-} {-# LANGUAGE FlexibleInstances #-} -module Language.Haskell.GhcMod.FillSig ( +module GhcMod.FillSig ( sig , refine , auto diff --git a/Language/Haskell/GhcMod/Find.hs b/GhcMod/Find.hs similarity index 99% rename from Language/Haskell/GhcMod/Find.hs rename to GhcMod/Find.hs index 35ec1c0..ebc60e5 100644 --- a/Language/Haskell/GhcMod/Find.hs +++ b/GhcMod/Find.hs @@ -1,6 +1,6 @@ {-# LANGUAGE CPP, BangPatterns, TupleSections, DeriveGeneric #-} -module Language.Haskell.GhcMod.Find +module GhcMod.Find #ifndef SPEC ( Symbol , SymbolDb diff --git a/Language/Haskell/GhcMod/Flag.hs b/GhcMod/Flag.hs similarity index 87% rename from Language/Haskell/GhcMod/Flag.hs rename to GhcMod/Flag.hs index 24cb61b..d202c57 100644 --- a/Language/Haskell/GhcMod/Flag.hs +++ b/GhcMod/Flag.hs @@ -1,4 +1,4 @@ -module Language.Haskell.GhcMod.Flag where +module GhcMod.Flag where import qualified Language.Haskell.GhcMod.Gap as Gap import Language.Haskell.GhcMod.Convert diff --git a/Language/Haskell/GhcMod/Info.hs b/GhcMod/Info.hs similarity index 98% rename from Language/Haskell/GhcMod/Info.hs rename to GhcMod/Info.hs index 9d3ce66..662912d 100644 --- a/Language/Haskell/GhcMod/Info.hs +++ b/GhcMod/Info.hs @@ -1,4 +1,4 @@ -module Language.Haskell.GhcMod.Info ( +module GhcMod.Info ( info , types ) where @@ -10,8 +10,8 @@ import Exception (ghandle, SomeException(..)) import GHC (GhcMonad, SrcSpan) import Prelude import qualified GHC as G -import qualified Language.Haskell.GhcMod.Gap as Gap +import qualified Language.Haskell.GhcMod.Gap as Gap import Language.Haskell.GhcMod.Convert import Language.Haskell.GhcMod.Doc import Language.Haskell.GhcMod.DynFlags diff --git a/Language/Haskell/GhcMod/Internal.hs b/GhcMod/Internal.hs similarity index 97% rename from Language/Haskell/GhcMod/Internal.hs rename to GhcMod/Internal.hs index 2aa4e1b..6bf38a8 100644 --- a/Language/Haskell/GhcMod/Internal.hs +++ b/GhcMod/Internal.hs @@ -1,6 +1,6 @@ -- | Low level access to the ghc-mod library. -module Language.Haskell.GhcMod.Internal ( +module GhcMod.Internal ( -- * Types GHCOption , IncludeDir diff --git a/Language/Haskell/GhcMod/Lang.hs b/GhcMod/Lang.hs similarity index 85% rename from Language/Haskell/GhcMod/Lang.hs rename to GhcMod/Lang.hs index badecbd..ac5f16f 100644 --- a/Language/Haskell/GhcMod/Lang.hs +++ b/GhcMod/Lang.hs @@ -1,4 +1,4 @@ -module Language.Haskell.GhcMod.Lang where +module GhcMod.Lang where import DynFlags (supportedLanguagesAndExtensions) import Language.Haskell.GhcMod.Convert diff --git a/Language/Haskell/GhcMod/Lint.hs b/GhcMod/Lint.hs similarity index 96% rename from Language/Haskell/GhcMod/Lint.hs rename to GhcMod/Lint.hs index 89c0fd5..3f0a986 100644 --- a/Language/Haskell/GhcMod/Lint.hs +++ b/GhcMod/Lint.hs @@ -1,4 +1,4 @@ -module Language.Haskell.GhcMod.Lint where +module GhcMod.Lint where import Exception (ghandle) import Control.Exception (SomeException(..)) diff --git a/Language/Haskell/GhcMod/Modules.hs b/GhcMod/Modules.hs similarity index 94% rename from Language/Haskell/GhcMod/Modules.hs rename to GhcMod/Modules.hs index 7d7365e..baeabcc 100644 --- a/Language/Haskell/GhcMod/Modules.hs +++ b/GhcMod/Modules.hs @@ -1,4 +1,4 @@ -module Language.Haskell.GhcMod.Modules (modules) where +module GhcMod.Modules (modules) where import Control.Arrow import Data.List diff --git a/Language/Haskell/GhcMod/PkgDoc.hs b/GhcMod/PkgDoc.hs similarity index 94% rename from Language/Haskell/GhcMod/PkgDoc.hs rename to GhcMod/PkgDoc.hs index 6ec5d0d..855e14f 100644 --- a/Language/Haskell/GhcMod/PkgDoc.hs +++ b/GhcMod/PkgDoc.hs @@ -1,4 +1,4 @@ -module Language.Haskell.GhcMod.PkgDoc (pkgDoc) where +module GhcMod.PkgDoc (pkgDoc) where import Language.Haskell.GhcMod.Types import Language.Haskell.GhcMod.GhcPkg diff --git a/Language/Haskell/GhcMod/Test.hs b/GhcMod/Test.hs similarity index 96% rename from Language/Haskell/GhcMod/Test.hs rename to GhcMod/Test.hs index 0e95171..03cb998 100644 --- a/Language/Haskell/GhcMod/Test.hs +++ b/GhcMod/Test.hs @@ -1,4 +1,4 @@ -module Language.Haskell.GhcMod.Test where +module GhcMod.Test where import Control.Applicative import Data.List diff --git a/Language/Haskell/GhcMod/CabalHelper.hs b/core/Language/Haskell/GhcMod/CabalHelper.hs similarity index 100% rename from Language/Haskell/GhcMod/CabalHelper.hs rename to core/Language/Haskell/GhcMod/CabalHelper.hs diff --git a/Language/Haskell/GhcMod/Caching.hs b/core/Language/Haskell/GhcMod/Caching.hs similarity index 100% rename from Language/Haskell/GhcMod/Caching.hs rename to core/Language/Haskell/GhcMod/Caching.hs diff --git a/Language/Haskell/GhcMod/Caching/Types.hs b/core/Language/Haskell/GhcMod/Caching/Types.hs similarity index 100% rename from Language/Haskell/GhcMod/Caching/Types.hs rename to core/Language/Haskell/GhcMod/Caching/Types.hs diff --git a/Language/Haskell/GhcMod/Convert.hs b/core/Language/Haskell/GhcMod/Convert.hs similarity index 100% rename from Language/Haskell/GhcMod/Convert.hs rename to core/Language/Haskell/GhcMod/Convert.hs diff --git a/Language/Haskell/GhcMod/Cradle.hs b/core/Language/Haskell/GhcMod/Cradle.hs similarity index 100% rename from Language/Haskell/GhcMod/Cradle.hs rename to core/Language/Haskell/GhcMod/Cradle.hs diff --git a/Language/Haskell/GhcMod/CustomPackageDb.hs b/core/Language/Haskell/GhcMod/CustomPackageDb.hs similarity index 100% rename from Language/Haskell/GhcMod/CustomPackageDb.hs rename to core/Language/Haskell/GhcMod/CustomPackageDb.hs diff --git a/Language/Haskell/GhcMod/DebugLogger.hs b/core/Language/Haskell/GhcMod/DebugLogger.hs similarity index 100% rename from Language/Haskell/GhcMod/DebugLogger.hs rename to core/Language/Haskell/GhcMod/DebugLogger.hs diff --git a/Language/Haskell/GhcMod/Doc.hs b/core/Language/Haskell/GhcMod/Doc.hs similarity index 100% rename from Language/Haskell/GhcMod/Doc.hs rename to core/Language/Haskell/GhcMod/Doc.hs diff --git a/Language/Haskell/GhcMod/DynFlags.hs b/core/Language/Haskell/GhcMod/DynFlags.hs similarity index 100% rename from Language/Haskell/GhcMod/DynFlags.hs rename to core/Language/Haskell/GhcMod/DynFlags.hs diff --git a/Language/Haskell/GhcMod/DynFlagsTH.hs b/core/Language/Haskell/GhcMod/DynFlagsTH.hs similarity index 100% rename from Language/Haskell/GhcMod/DynFlagsTH.hs rename to core/Language/Haskell/GhcMod/DynFlagsTH.hs diff --git a/Language/Haskell/GhcMod/Error.hs b/core/Language/Haskell/GhcMod/Error.hs similarity index 100% rename from Language/Haskell/GhcMod/Error.hs rename to core/Language/Haskell/GhcMod/Error.hs diff --git a/Language/Haskell/GhcMod/FileMapping.hs b/core/Language/Haskell/GhcMod/FileMapping.hs similarity index 100% rename from Language/Haskell/GhcMod/FileMapping.hs rename to core/Language/Haskell/GhcMod/FileMapping.hs diff --git a/Language/Haskell/GhcMod/Gap.hs b/core/Language/Haskell/GhcMod/Gap.hs similarity index 100% rename from Language/Haskell/GhcMod/Gap.hs rename to core/Language/Haskell/GhcMod/Gap.hs diff --git a/Language/Haskell/GhcMod/GhcPkg.hs b/core/Language/Haskell/GhcMod/GhcPkg.hs similarity index 100% rename from Language/Haskell/GhcMod/GhcPkg.hs rename to core/Language/Haskell/GhcMod/GhcPkg.hs diff --git a/Language/Haskell/GhcMod/HomeModuleGraph.hs b/core/Language/Haskell/GhcMod/HomeModuleGraph.hs similarity index 100% rename from Language/Haskell/GhcMod/HomeModuleGraph.hs rename to core/Language/Haskell/GhcMod/HomeModuleGraph.hs diff --git a/Language/Haskell/GhcMod/LightGhc.hs b/core/Language/Haskell/GhcMod/LightGhc.hs similarity index 100% rename from Language/Haskell/GhcMod/LightGhc.hs rename to core/Language/Haskell/GhcMod/LightGhc.hs diff --git a/Language/Haskell/GhcMod/Logger.hs b/core/Language/Haskell/GhcMod/Logger.hs similarity index 100% rename from Language/Haskell/GhcMod/Logger.hs rename to core/Language/Haskell/GhcMod/Logger.hs diff --git a/Language/Haskell/GhcMod/Logging.hs b/core/Language/Haskell/GhcMod/Logging.hs similarity index 100% rename from Language/Haskell/GhcMod/Logging.hs rename to core/Language/Haskell/GhcMod/Logging.hs diff --git a/Language/Haskell/GhcMod/Monad.hs b/core/Language/Haskell/GhcMod/Monad.hs similarity index 100% rename from Language/Haskell/GhcMod/Monad.hs rename to core/Language/Haskell/GhcMod/Monad.hs diff --git a/Language/Haskell/GhcMod/Monad/Compat.hs_h b/core/Language/Haskell/GhcMod/Monad/Compat.hs_h similarity index 100% rename from Language/Haskell/GhcMod/Monad/Compat.hs_h rename to core/Language/Haskell/GhcMod/Monad/Compat.hs_h diff --git a/Language/Haskell/GhcMod/Monad/Env.hs b/core/Language/Haskell/GhcMod/Monad/Env.hs similarity index 100% rename from Language/Haskell/GhcMod/Monad/Env.hs rename to core/Language/Haskell/GhcMod/Monad/Env.hs diff --git a/Language/Haskell/GhcMod/Monad/Log.hs b/core/Language/Haskell/GhcMod/Monad/Log.hs similarity index 100% rename from Language/Haskell/GhcMod/Monad/Log.hs rename to core/Language/Haskell/GhcMod/Monad/Log.hs diff --git a/Language/Haskell/GhcMod/Monad/Newtypes.hs b/core/Language/Haskell/GhcMod/Monad/Newtypes.hs similarity index 100% rename from Language/Haskell/GhcMod/Monad/Newtypes.hs rename to core/Language/Haskell/GhcMod/Monad/Newtypes.hs diff --git a/Language/Haskell/GhcMod/Monad/Orphans.hs b/core/Language/Haskell/GhcMod/Monad/Orphans.hs similarity index 100% rename from Language/Haskell/GhcMod/Monad/Orphans.hs rename to core/Language/Haskell/GhcMod/Monad/Orphans.hs diff --git a/Language/Haskell/GhcMod/Monad/Out.hs b/core/Language/Haskell/GhcMod/Monad/Out.hs similarity index 100% rename from Language/Haskell/GhcMod/Monad/Out.hs rename to core/Language/Haskell/GhcMod/Monad/Out.hs diff --git a/Language/Haskell/GhcMod/Monad/State.hs b/core/Language/Haskell/GhcMod/Monad/State.hs similarity index 100% rename from Language/Haskell/GhcMod/Monad/State.hs rename to core/Language/Haskell/GhcMod/Monad/State.hs diff --git a/Language/Haskell/GhcMod/Monad/Types.hs b/core/Language/Haskell/GhcMod/Monad/Types.hs similarity index 100% rename from Language/Haskell/GhcMod/Monad/Types.hs rename to core/Language/Haskell/GhcMod/Monad/Types.hs diff --git a/Language/Haskell/GhcMod/Options/DocUtils.hs b/core/Language/Haskell/GhcMod/Options/DocUtils.hs similarity index 100% rename from Language/Haskell/GhcMod/Options/DocUtils.hs rename to core/Language/Haskell/GhcMod/Options/DocUtils.hs diff --git a/Language/Haskell/GhcMod/Options/Help.hs b/core/Language/Haskell/GhcMod/Options/Help.hs similarity index 100% rename from Language/Haskell/GhcMod/Options/Help.hs rename to core/Language/Haskell/GhcMod/Options/Help.hs diff --git a/Language/Haskell/GhcMod/Options/Options.hs b/core/Language/Haskell/GhcMod/Options/Options.hs similarity index 100% rename from Language/Haskell/GhcMod/Options/Options.hs rename to core/Language/Haskell/GhcMod/Options/Options.hs diff --git a/Language/Haskell/GhcMod/Output.hs b/core/Language/Haskell/GhcMod/Output.hs similarity index 100% rename from Language/Haskell/GhcMod/Output.hs rename to core/Language/Haskell/GhcMod/Output.hs diff --git a/Language/Haskell/GhcMod/PathsAndFiles.hs b/core/Language/Haskell/GhcMod/PathsAndFiles.hs similarity index 100% rename from Language/Haskell/GhcMod/PathsAndFiles.hs rename to core/Language/Haskell/GhcMod/PathsAndFiles.hs diff --git a/Language/Haskell/GhcMod/Pretty.hs b/core/Language/Haskell/GhcMod/Pretty.hs similarity index 100% rename from Language/Haskell/GhcMod/Pretty.hs rename to core/Language/Haskell/GhcMod/Pretty.hs diff --git a/Language/Haskell/GhcMod/Read.hs b/core/Language/Haskell/GhcMod/Read.hs similarity index 100% rename from Language/Haskell/GhcMod/Read.hs rename to core/Language/Haskell/GhcMod/Read.hs diff --git a/Language/Haskell/GhcMod/SrcUtils.hs b/core/Language/Haskell/GhcMod/SrcUtils.hs similarity index 100% rename from Language/Haskell/GhcMod/SrcUtils.hs rename to core/Language/Haskell/GhcMod/SrcUtils.hs diff --git a/Language/Haskell/GhcMod/Stack.hs b/core/Language/Haskell/GhcMod/Stack.hs similarity index 100% rename from Language/Haskell/GhcMod/Stack.hs rename to core/Language/Haskell/GhcMod/Stack.hs diff --git a/Language/Haskell/GhcMod/Target.hs b/core/Language/Haskell/GhcMod/Target.hs similarity index 100% rename from Language/Haskell/GhcMod/Target.hs rename to core/Language/Haskell/GhcMod/Target.hs diff --git a/Language/Haskell/GhcMod/Types.hs b/core/Language/Haskell/GhcMod/Types.hs similarity index 100% rename from Language/Haskell/GhcMod/Types.hs rename to core/Language/Haskell/GhcMod/Types.hs diff --git a/Language/Haskell/GhcMod/Utils.hs b/core/Language/Haskell/GhcMod/Utils.hs similarity index 100% rename from Language/Haskell/GhcMod/Utils.hs rename to core/Language/Haskell/GhcMod/Utils.hs diff --git a/Language/Haskell/GhcMod/World.hs b/core/Language/Haskell/GhcMod/World.hs similarity index 100% rename from Language/Haskell/GhcMod/World.hs rename to core/Language/Haskell/GhcMod/World.hs diff --git a/ghc-mod.cabal b/ghc-mod.cabal index c26a302..a595289 100644 --- a/ghc-mod.cabal +++ b/ghc-mod.cabal @@ -34,7 +34,7 @@ Extra-Source-Files: ChangeLog SetupCompat.hs NotCPP/*.hs NotCPP/COPYING - Language/Haskell/GhcMod/Monad/Compat.hs_h + core/Language/Haskell/GhcMod/Monad/Compat.hs_h test/data/annotations/*.hs test/data/broken-cabal/*.cabal test/data/broken-cabal/cabal.sandbox.config.in @@ -112,38 +112,42 @@ Library Default-Extensions: ScopedTypeVariables, RecordWildCards, NamedFieldPuns, ConstraintKinds, FlexibleContexts, DataKinds, KindSignatures, TypeOperators, ViewPatterns - Exposed-Modules: Language.Haskell.GhcMod - Language.Haskell.GhcMod.Internal - Language.Haskell.GhcMod.Boot - Language.Haskell.GhcMod.Browse + HS-Source-Dirs: ., core + Exposed-Modules: + GhcMod + GhcMod.Boot + GhcMod.Browse + GhcMod.CaseSplit + GhcMod.Check + GhcMod.Debug + GhcMod.FillSig + GhcMod.Find + GhcMod.Flag + GhcMod.Info + GhcMod.Internal + GhcMod.Lang + GhcMod.Lint + GhcMod.Modules + GhcMod.PkgDoc + GhcMod.Test Language.Haskell.GhcMod.CabalHelper Language.Haskell.GhcMod.Caching Language.Haskell.GhcMod.Caching.Types - Language.Haskell.GhcMod.CaseSplit - Language.Haskell.GhcMod.Check Language.Haskell.GhcMod.Convert Language.Haskell.GhcMod.Cradle Language.Haskell.GhcMod.CustomPackageDb - Language.Haskell.GhcMod.Debug Language.Haskell.GhcMod.DebugLogger Language.Haskell.GhcMod.Doc Language.Haskell.GhcMod.DynFlags Language.Haskell.GhcMod.DynFlagsTH Language.Haskell.GhcMod.Error Language.Haskell.GhcMod.FileMapping - Language.Haskell.GhcMod.FillSig - Language.Haskell.GhcMod.Find - Language.Haskell.GhcMod.Flag Language.Haskell.GhcMod.Gap Language.Haskell.GhcMod.GhcPkg Language.Haskell.GhcMod.HomeModuleGraph - Language.Haskell.GhcMod.Info - Language.Haskell.GhcMod.Lang - Language.Haskell.GhcMod.Lint Language.Haskell.GhcMod.LightGhc Language.Haskell.GhcMod.Logger Language.Haskell.GhcMod.Logging - Language.Haskell.GhcMod.Modules Language.Haskell.GhcMod.Monad Language.Haskell.GhcMod.Monad.Env Language.Haskell.GhcMod.Monad.Log @@ -152,21 +156,19 @@ Library Language.Haskell.GhcMod.Monad.Out Language.Haskell.GhcMod.Monad.State Language.Haskell.GhcMod.Monad.Types + Language.Haskell.GhcMod.Options.DocUtils + Language.Haskell.GhcMod.Options.Help + Language.Haskell.GhcMod.Options.Options Language.Haskell.GhcMod.Output Language.Haskell.GhcMod.PathsAndFiles - Language.Haskell.GhcMod.PkgDoc Language.Haskell.GhcMod.Pretty Language.Haskell.GhcMod.Read Language.Haskell.GhcMod.SrcUtils Language.Haskell.GhcMod.Stack Language.Haskell.GhcMod.Target - Language.Haskell.GhcMod.Test Language.Haskell.GhcMod.Types Language.Haskell.GhcMod.Utils Language.Haskell.GhcMod.World - Language.Haskell.GhcMod.Options.Options - Language.Haskell.GhcMod.Options.DocUtils - Language.Haskell.GhcMod.Options.Help Other-Modules: Paths_ghc_mod Utils Data.Binary.Generic diff --git a/src/GHCMod.hs b/src/GHCMod.hs index 26f1865..3acc860 100644 --- a/src/GHCMod.hs +++ b/src/GHCMod.hs @@ -7,21 +7,23 @@ import Control.Monad import Data.Typeable (Typeable) import Data.List import Data.List.Split -import Exception -import Language.Haskell.GhcMod -import Language.Haskell.GhcMod.Internal hiding (MonadIO,liftIO) -import Language.Haskell.GhcMod.Types -import Language.Haskell.GhcMod.Monad -import Language.Haskell.GhcMod.Find import Language.Haskell.GhcMod.Pretty import System.FilePath (()) import System.Directory (setCurrentDirectory, getAppUserDataDirectory, removeDirectoryRecursive) import System.IO import System.Exit -import GHCMod.Options import Prelude +import GHCMod.Options +import GhcMod +import GhcMod.Find +import GhcMod.Internal hiding (MonadIO,liftIO) +import Language.Haskell.GhcMod.Monad +import Language.Haskell.GhcMod.Types + +import Exception + handler :: IOish m => GhcModT m a -> GhcModT m a handler = flip gcatches [ GHandler $ \(e :: ExitCode) -> throw e diff --git a/src/GHCMod/Options.hs b/src/GHCMod/Options.hs index c3cf263..21de65a 100644 --- a/src/GHCMod/Options.hs +++ b/src/GHCMod/Options.hs @@ -24,12 +24,13 @@ module GHCMod.Options ( import Options.Applicative import Options.Applicative.Types -import Language.Haskell.GhcMod.Types + import GHCMod.Options.Commands +import GHCMod.Options.ShellParse import GHCMod.Version import Language.Haskell.GhcMod.Options.DocUtils import Language.Haskell.GhcMod.Options.Options -import GHCMod.Options.ShellParse +import Language.Haskell.GhcMod.Types parseArgs :: IO (Options, GhcModCommands) parseArgs = @@ -69,4 +70,3 @@ helpVersion = argAndCmdSpec :: Parser (Options, GhcModCommands) argAndCmdSpec = (,) <$> globalArgSpec <*> commandsSpec - diff --git a/test/BrowseSpec.hs b/test/BrowseSpec.hs index e4bac0d..dfd320e 100644 --- a/test/BrowseSpec.hs +++ b/test/BrowseSpec.hs @@ -1,7 +1,7 @@ module BrowseSpec where import Control.Applicative -import Language.Haskell.GhcMod +import GhcMod import Test.Hspec import Prelude diff --git a/test/CaseSplitSpec.hs b/test/CaseSplitSpec.hs index 395b5c2..3daee1f 100644 --- a/test/CaseSplitSpec.hs +++ b/test/CaseSplitSpec.hs @@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} module CaseSplitSpec where -import Language.Haskell.GhcMod +import GhcMod import Test.Hspec import TestUtils import Dir diff --git a/test/CheckSpec.hs b/test/CheckSpec.hs index 9b1ea38..efe024c 100644 --- a/test/CheckSpec.hs +++ b/test/CheckSpec.hs @@ -1,7 +1,7 @@ {-# LANGUAGE CPP #-} module CheckSpec where -import Language.Haskell.GhcMod +import GhcMod import Data.List import System.Process diff --git a/test/FileMappingSpec.hs b/test/FileMappingSpec.hs index 47c2a83..3ed1a2c 100644 --- a/test/FileMappingSpec.hs +++ b/test/FileMappingSpec.hs @@ -9,7 +9,7 @@ import Dir import System.IO.Temp import System.Directory -import Language.Haskell.GhcMod +import GhcMod spec :: Spec spec = do diff --git a/test/FindSpec.hs b/test/FindSpec.hs index 6f693aa..d348887 100644 --- a/test/FindSpec.hs +++ b/test/FindSpec.hs @@ -1,7 +1,7 @@ {-# LANGUAGE OverloadedStrings #-} module FindSpec where -import Language.Haskell.GhcMod.Find +import GhcMod.Find import Test.Hspec import TestUtils diff --git a/test/FlagSpec.hs b/test/FlagSpec.hs index 60b624b..9d5f5a1 100644 --- a/test/FlagSpec.hs +++ b/test/FlagSpec.hs @@ -1,7 +1,7 @@ module FlagSpec where import Control.Applicative -import Language.Haskell.GhcMod +import GhcMod import Test.Hspec import TestUtils import Prelude diff --git a/test/InfoSpec.hs b/test/InfoSpec.hs index de9f3e4..9f4b453 100644 --- a/test/InfoSpec.hs +++ b/test/InfoSpec.hs @@ -3,7 +3,7 @@ module InfoSpec where import Control.Applicative import Data.List (isPrefixOf) -import Language.Haskell.GhcMod +import GhcMod #if __GLASGOW_HASKELL__ < 706 import System.Environment.Executable (getExecutablePath) #else diff --git a/test/LangSpec.hs b/test/LangSpec.hs index 617ede5..5d6f119 100644 --- a/test/LangSpec.hs +++ b/test/LangSpec.hs @@ -1,7 +1,7 @@ module LangSpec where import Control.Applicative -import Language.Haskell.GhcMod +import GhcMod import Test.Hspec import TestUtils import Prelude diff --git a/test/LintSpec.hs b/test/LintSpec.hs index db668ae..c2b67fa 100644 --- a/test/LintSpec.hs +++ b/test/LintSpec.hs @@ -1,6 +1,6 @@ module LintSpec where -import Language.Haskell.GhcMod +import GhcMod import Test.Hspec import TestUtils diff --git a/test/ListSpec.hs b/test/ListSpec.hs index 166d3c2..775f1c1 100644 --- a/test/ListSpec.hs +++ b/test/ListSpec.hs @@ -1,7 +1,7 @@ module ListSpec where import Control.Applicative -import Language.Haskell.GhcMod +import GhcMod import Test.Hspec import TestUtils import Prelude diff --git a/test/Main.hs b/test/Main.hs index 234b4fb..d47e703 100644 --- a/test/Main.hs +++ b/test/Main.hs @@ -4,7 +4,7 @@ import Dir import Control.Exception as E import Control.Monad (void) -import Language.Haskell.GhcMod (debugInfo) +import GhcMod (debugInfo) import System.Process import System.Environment import Test.Hspec diff --git a/test/doctests.hs b/test/doctests.hs index 97deb64..34c26af 100644 --- a/test/doctests.hs +++ b/test/doctests.hs @@ -15,7 +15,8 @@ main = do , "-package", "directory-" ++ VERSION_directory , "-XScopedTypeVariables", "-XRecordWildCards", "-XNamedFieldPuns", "-XConstraintKinds", "-XFlexibleContexts", "-XDataKinds", "-XKindSignatures", "-XTypeOperators", "-XViewPatterns" , "-i" ++ distdir ++ "/build/autogen/" - , "-optP-include" - , "-optP" ++ distdir ++ "/build/autogen/cabal_macros.h" - , "Language/Haskell/GhcMod.hs" + , "-icore/" +-- , "-optP-include" +-- , "-optP" ++ distdir ++ "/build/autogen/cabal_macros.h" + , "GhcMod.hs" ]