Make sure cabal-helper is ready before invoking dumpsym

This commit is contained in:
Daniel Gröber 2015-08-14 03:48:29 +02:00
parent 312a8c81fb
commit cbfa26eb16
3 changed files with 12 additions and 0 deletions

View File

@ -20,6 +20,7 @@ module Language.Haskell.GhcMod.CabalHelper
( getComponents
, getGhcMergedPkgOptions
, getPackageDbStack
, prepareCabalHelper
)
#endif
where
@ -126,6 +127,14 @@ getComponents = chCached Cached {
, a == a'
]
prepareCabalHelper :: (IOish m, GmEnv m, GmLog m) => m ()
prepareCabalHelper = do
crdl <- cradle
let projdir = cradleRootDir crdl
distdir = projdir </> "dist"
readProc <- gmReadProcess
liftIO $ prepare readProc projdir distdir
withCabal :: (IOish m, GmEnv m, GmLog m) => m a -> m a
withCabal action = do
crdl <- cradle

View File

@ -52,6 +52,7 @@ module Language.Haskell.GhcMod.Internal (
, GmComponent(..)
, GmComponentType(..)
, GmModuleGraph(..)
, prepareCabalHelper
) where
import GHC.Paths (libdir)
@ -65,6 +66,7 @@ import Language.Haskell.GhcMod.Monad
import Language.Haskell.GhcMod.Types
import Language.Haskell.GhcMod.Utils
import Language.Haskell.GhcMod.World
import Language.Haskell.GhcMod.CabalHelper
-- | Obtaining the directory for ghc system libraries.
ghcLibDir :: FilePath

View File

@ -371,6 +371,7 @@ globalCommands _ = Nothing
legacyInteractive :: IOish m => GhcModT m ()
legacyInteractive = do
opt <- options
prepareCabalHelper
symdbreq <- liftIO $ newSymDbReq opt
world <- getCurrentWorld
legacyInteractiveLoop symdbreq world