5
5
{-# LANGUAGE MultiParamTypeClasses #-}
6
6
{-# LANGUAGE FlexibleInstances #-}
7
7
{-# LANGUAGE TupleSections #-}
8
+ {-# LANGUAGE OverloadedStrings #-}
8
9
9
10
module Haskell.Ide.Engine.ModuleCache
10
11
( modifyCache
@@ -62,7 +63,7 @@ modifyCache f = do
62
63
-- then runs the action in the default cradle.
63
64
-- Sets the current directory to the cradle root dir
64
65
-- in either case
65
- runActionWithContext :: (GHC. GhcMonad m , HasGhcModuleCache m )
66
+ runActionWithContext :: (MonadIde m , GHC. GhcMonad m , HasGhcModuleCache m )
66
67
=> GHC. DynFlags -> Maybe FilePath -> m a -> m a
67
68
runActionWithContext _df Nothing action = do
68
69
-- Cradle with no additional flags
@@ -74,7 +75,7 @@ runActionWithContext _df Nothing action = do
74
75
runActionWithContext df (Just uri) action = do
75
76
getCradle uri (\ lc -> loadCradle df lc >> action)
76
77
77
- loadCradle :: (HasGhcModuleCache m , GHC. GhcMonad m ) => GHC. DynFlags -> LookupCradleResult -> m ()
78
+ loadCradle :: (MonadIde m , HasGhcModuleCache m , GHC. GhcMonad m ) => GHC. DynFlags -> LookupCradleResult -> m ()
78
79
loadCradle _ ReuseCradle = do
79
80
traceM (" Reusing cradle" )
80
81
loadCradle iniDynFlags (NewCradle fp) = do
@@ -87,7 +88,7 @@ loadCradle iniDynFlags (NewCradle fp) = do
87
88
traceShowM crdl
88
89
liftIO (GHC. newHscEnv iniDynFlags) >>= GHC. setSession
89
90
liftIO $ setCurrentDirectory (BIOS. cradleRootDir crdl)
90
- BIOS. initializeFlagsWithCradle fp crdl
91
+ withIndefiniteProgress " Initialising Cradle " $ BIOS. initializeFlagsWithCradle fp crdl
91
92
setCurrentCradle crdl
92
93
loadCradle _iniDynFlags (LoadCradle (CachedCradle crd env)) = do
93
94
traceShowM (" Reload Cradle" , crd)
0 commit comments