Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Commit 6254c09

Browse files
authored
Merge pull request #1255 from alanz/narrow-ghc-mod-core
Narrow ghc mod core
2 parents ffcb0fc + 288e655 commit 6254c09

File tree

23 files changed

+79
-105
lines changed

23 files changed

+79
-105
lines changed

app/HieWrapper.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Data.List
1010
import Data.Foldable
1111
import Data.Version (showVersion)
1212
import qualified GhcMod.Monad as GM
13+
import qualified GhcMod.Monad.Types as GM
1314
import qualified GhcMod.Types as GM
1415
import Haskell.Ide.Engine.MonadFunctions
1516
import Haskell.Ide.Engine.Options

haskell-ide-engine.cabal

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,6 @@ executable hie
107107
other-modules: Paths_haskell_ide_engine
108108
build-depends: base
109109
, directory
110-
, ghc-mod-core
111110
, haskell-ide-engine
112111
, haskell-lsp
113112
, hie-plugin-api

hie-plugin-api/Haskell/Ide/Engine/ArtifactMap.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import qualified GHC
99
import GHC (TypecheckedModule)
1010
import qualified SrcLoc as GHC
1111
import qualified Var
12-
import qualified GhcMod.Gap as GM
12+
import qualified GhcModCore as GM ( GhcRn, GhcTc, GhcPs )
1313

1414
import Language.Haskell.LSP.Types
1515

hie-plugin-api/Haskell/Ide/Engine/Context.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ module Haskell.Ide.Engine.Context where
33
import Data.Generics
44
import Language.Haskell.LSP.Types
55
import GHC
6-
import GhcMod.Gap (GhcPs) -- for GHC 8.2.2
6+
import qualified GhcModCore as GM (GhcPs) -- for GHC 8.2.2
77
import Haskell.Ide.Engine.PluginUtils
88

99
-- | A context of a declaration in the program
@@ -20,15 +20,15 @@ data Context = TypeContext
2020
getContext :: Position -> ParsedModule -> Maybe Context
2121
getContext pos pm = everything join (Nothing `mkQ` go `extQ` goInline) decl
2222
where decl = hsmodDecls $ unLoc $ pm_parsed_source pm
23-
go :: LHsDecl GhcPs -> Maybe Context
23+
go :: LHsDecl GM.GhcPs -> Maybe Context
2424
go (L (RealSrcSpan r) (SigD {}))
2525
| pos `isInsideRange` r = Just TypeContext
2626
| otherwise = Nothing
2727
go (L (GHC.RealSrcSpan r) (GHC.ValD {}))
2828
| pos `isInsideRange` r = Just ValueContext
2929
| otherwise = Nothing
3030
go _ = Nothing
31-
goInline :: GHC.LHsType GhcPs -> Maybe Context
31+
goInline :: GHC.LHsType GM.GhcPs -> Maybe Context
3232
goInline (GHC.L (GHC.RealSrcSpan r) _)
3333
| pos `isInsideRange` r = Just TypeContext
3434
| otherwise = Nothing

hie-plugin-api/Haskell/Ide/Engine/Ghc.hs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,20 @@ import Bag
2121
import Control.Monad.IO.Class
2222
import Data.IORef
2323
import qualified Data.Map.Strict as Map
24+
import Data.Monoid ((<>))
2425
import qualified Data.Set as Set
2526
import qualified Data.Text as T
2627
import ErrUtils
27-
import qualified GhcMod.DynFlags as GM
28-
import qualified GhcMod.Error as GM
29-
import qualified GhcMod.Gap as GM
30-
import qualified GhcMod.ModuleLoader as GM
31-
import qualified GhcMod.Monad as GM
32-
import Data.Monoid ((<>))
33-
import qualified GhcMod.Target as GM
34-
import qualified GhcMod.Types as GM
35-
import qualified GhcMod.Utils as GM
28+
29+
import qualified GhcModCore as GM ( withDynFlags
30+
, gcatches, GHandler(..), ghcExceptionDoc
31+
, mkErrStyle', renderGm
32+
, getModulesGhc'
33+
, GmlT(..), getMMappedFiles, GmState(..), GhcModT, cradle
34+
, cabalResolvedComponents
35+
, IOish, GhcModError(..), GmGhcSession(..), GhcModState(..), GmModuleGraph(..), Cradle(..), gmcHomeModuleGraph
36+
, mkRevRedirMapFunc )
37+
3638
import Haskell.Ide.Engine.MonadFunctions
3739
import Haskell.Ide.Engine.MonadTypes
3840
import Haskell.Ide.Engine.PluginUtils

hie-plugin-api/Haskell/Ide/Engine/GhcModuleCache.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import qualified Data.Map as Map
88
import Data.Dynamic (Dynamic)
99
import Data.Typeable (TypeRep)
1010

11-
import qualified GhcMod.Types as GM
11+
import qualified GhcModCore as GM ( Cradle(..) )
1212

1313
import GHC (TypecheckedModule, ParsedModule)
1414

hie-plugin-api/Haskell/Ide/Engine/ModuleCache.hs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,11 @@ import Exception (ExceptionMonad)
3535
import System.Directory
3636
import System.FilePath
3737

38-
import qualified GhcMod.Cradle as GM
39-
import qualified GhcMod.Monad as GM
40-
import qualified GhcMod.Types as GM
41-
import qualified GhcMod.Utils as GM
38+
import qualified GhcModCore as GM ( findCradle'
39+
, GmEnv(..), GmLog(..), GmlT(..), GmOut(..), cradle, options
40+
, Cradle(..), GhcModEnv(..), MonadIO(..), Options(..)
41+
, mkRevRedirMapFunc )
42+
4243
import qualified GHC as GHC
4344

4445
import Haskell.Ide.Engine.ArtifactMap

hie-plugin-api/Haskell/Ide/Engine/PluginUtils.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ import Data.Monoid
4545
import qualified Data.Text as T
4646
import qualified Data.Text.IO as T
4747
import Data.Maybe
48-
import qualified GhcMod.Utils as GM
48+
import qualified GhcModCore as GM ( makeAbsolute' )
4949
import FastString
5050
import Haskell.Ide.Engine.MonadTypes
5151
import Haskell.Ide.Engine.MonadFunctions

hie-plugin-api/Haskell/Ide/Engine/PluginsIdeMonads.hs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,8 +117,9 @@ import Data.Typeable ( TypeRep
117117
, Typeable
118118
)
119119

120-
import qualified GhcMod.Monad as GM
121-
import qualified GhcMod.Types as GM
120+
import qualified GhcModCore as GM ( GhcModT, runGhcModT, GmlT(..), gmlGetSession, gmlSetSession
121+
, MonadIO(..), GmLogLevel(..), Options(..), defaultOptions, OutputOpts(..) )
122+
122123
import GHC.Generics
123124
import GHC ( HscEnv )
124125
import qualified DynFlags as GHC

src/Haskell/Ide/Engine/Plugin/ApplyRefact.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import Data.Maybe
1919
import Data.Monoid ((<>))
2020
import qualified Data.Text as T
2121
import GHC.Generics
22-
import qualified GhcMod.Utils as GM
22+
import qualified GhcModCore as GM ( mkRevRedirMapFunc, withMappedFile )
2323
import Haskell.Ide.Engine.MonadFunctions
2424
import Haskell.Ide.Engine.MonadTypes
2525
import Haskell.Ide.Engine.PluginUtils
@@ -111,9 +111,9 @@ lintCmd = CmdSync $ \uri -> do
111111
-- AZ:TODO: Why is this in IdeGhcM?
112112
lintCmd' :: Uri -> IdeGhcM (IdeResult PublishDiagnosticsParams)
113113
lintCmd' uri = pluginGetFile "lintCmd: " uri $ \fp -> do
114-
eitherErrorResult <- GM.withMappedFile fp $ \file' ->
114+
eitherErrorResult <- GM.withMappedFile fp $ \file' ->
115115
liftIO (try $ runExceptT $ runLintCmd file' [] :: IO (Either IOException (Either [Diagnostic] [Idea])))
116-
116+
117117
case eitherErrorResult of
118118
Left err ->
119119
return

0 commit comments

Comments
 (0)