Skip to content

Commit 9a4b009

Browse files
committed
Check package before indexing
1 parent f4ba2b9 commit 9a4b009

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

cabal.project

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ packages:
4141
source-repository-package
4242
type:git
4343
location: https://github.com/nlander/HieDb.git
44-
tag: 038bc785c80f13615f4ac1ec5066345f2eb999c2
44+
tag: f10051a6dc1b809d5f40a45beab92205d1829736
4545

4646
-- Standard location for temporary packages needed for particular environments
4747
-- For example it is used in the project gitlab mirror to help in the MAcOS M1 build script

ghcide/src/Development/IDE/Types/HscEnvEq.hs

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import Data.Unique (Unique)
3131
import qualified Data.Unique as Unique
3232
import Development.IDE.Core.Compile (indexHieFile)
3333
import Development.IDE.Core.Rules (HieFileCheck(..), Log, checkHieFile)
34-
import Development.IDE.Core.Shake (HieDbWriter(indexQueue), ShakeExtras(hiedbWriter, lspEnv))
34+
import Development.IDE.Core.Shake (HieDbWriter(indexQueue), ShakeExtras(hiedbWriter, lspEnv, withHieDb))
3535
import Development.IDE.GHC.Compat
3636
import qualified Development.IDE.GHC.Compat.Util as Maybes
3737
import Development.IDE.GHC.Error (catchSrcErrors)
@@ -40,7 +40,7 @@ import Development.IDE.Graph.Classes
4040
import Development.IDE.Types.Exports (ExportsMap, createExportsMap)
4141
import Development.IDE.Types.Location (NormalizedFilePath, toNormalizedFilePath')
4242
import Development.IDE.Types.Logger (Recorder, WithPriority)
43-
import HieDb (SourceFile(FakeFile), removeDependencySrcFiles)
43+
import HieDb (SourceFile(FakeFile), lookupPackage, removeDependencySrcFiles)
4444
import Language.LSP.Server (resRootPath)
4545
import OpenTelemetry.Eventlog (withSpan)
4646
import System.Directory (doesDirectoryExist, makeAbsolute)
@@ -147,7 +147,13 @@ newHscEnvEqWithImportPaths envImportPaths recorder se hscEnv deps = do
147147
(libraryDir : _) -> libraryDir
148148
hieDir :: FilePath
149149
hieDir = pkgLibDir </> "extra-compilation-artifacts"
150-
traverse_ (indexModuleHieFile hieDir) modules
150+
unit :: Unit
151+
unit = RealUnit $ Definite $ unitId package
152+
moduleRows <- withHieDb se $ \db ->
153+
lookupPackage db unit
154+
case moduleRows of
155+
[] -> traverse_ (indexModuleHieFile hieDir) modules
156+
_ -> return ()
151157
indexModuleHieFile :: FilePath -> Module -> IO ()
152158
indexModuleHieFile hieDir m = do
153159
let hiePath :: NormalizedFilePath

0 commit comments

Comments
 (0)