@@ -31,7 +31,7 @@ import Data.Unique (Unique)
31
31
import qualified Data.Unique as Unique
32
32
import Development.IDE.Core.Compile (indexHieFile )
33
33
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 ))
35
35
import Development.IDE.GHC.Compat
36
36
import qualified Development.IDE.GHC.Compat.Util as Maybes
37
37
import Development.IDE.GHC.Error (catchSrcErrors )
@@ -40,7 +40,7 @@ import Development.IDE.Graph.Classes
40
40
import Development.IDE.Types.Exports (ExportsMap , createExportsMap )
41
41
import Development.IDE.Types.Location (NormalizedFilePath , toNormalizedFilePath' )
42
42
import Development.IDE.Types.Logger (Recorder , WithPriority )
43
- import HieDb (SourceFile (FakeFile ), removeDependencySrcFiles )
43
+ import HieDb (SourceFile (FakeFile ), lookupPackage , removeDependencySrcFiles )
44
44
import Language.LSP.Server (resRootPath )
45
45
import OpenTelemetry.Eventlog (withSpan )
46
46
import System.Directory (doesDirectoryExist , makeAbsolute )
@@ -147,7 +147,13 @@ newHscEnvEqWithImportPaths envImportPaths recorder se hscEnv deps = do
147
147
(libraryDir : _) -> libraryDir
148
148
hieDir :: FilePath
149
149
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 ()
151
157
indexModuleHieFile :: FilePath -> Module -> IO ()
152
158
indexModuleHieFile hieDir m = do
153
159
let hiePath :: NormalizedFilePath
0 commit comments