Fix ghc-modi not working in non-cabal projects

This commit is contained in:
Daniel Gröber
2015-08-12 09:04:35 +02:00
parent 9b286cc4e1
commit a94d8977a9
2 changed files with 20 additions and 12 deletions

View File

@@ -19,6 +19,7 @@ import Prelude
import Language.Haskell.GhcMod.Types
import Language.Haskell.GhcMod.Monad.Types
import Language.Haskell.GhcMod.CabalHelper
import Language.Haskell.GhcMod.PathsAndFiles
ghcVersion :: Int
ghcVersion = read cProjectVersionInt
@@ -59,7 +60,16 @@ ghcDbOpt (PackageDb pkgDb)
getPackageCachePaths :: IOish m => FilePath -> GhcModT m [FilePath]
getPackageCachePaths sysPkgCfg = do
pkgDbStack <- getPackageDbStack
crdl <- cradle
pkgDbStack <- if isJust $ cradleCabalFile crdl
then do
getPackageDbStack
else do
mdb <- liftIO $ getSandboxDb $ cradleRootDir crdl
return $ case mdb of
Just db -> [db]
Nothing -> [GlobalDb, UserDb]
catMaybes <$> (liftIO . resolvePackageConfig sysPkgCfg) `mapM` pkgDbStack
-- TODO: use PkgConfRef