File tree Expand file tree Collapse file tree
ghcide/src/Development/IDE/Core Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -77,9 +77,13 @@ getFilesOfInterestUntracked = do
7777addFileOfInterest :: IdeState -> NormalizedFilePath -> FileOfInterestStatus -> IO ()
7878addFileOfInterest state f v = do
7979 OfInterestVar var <- getIdeGlobalState state
80- files <- modifyVar' var $ HashMap. insert f v
81- recordDirtyKeys (shakeExtras state) IsFileOfInterest [f]
82- logDebug (ideLogger state) $ " Set files of interest to: " <> T. pack (show files)
80+ (prev, files) <- modifyVar var $ \ dict -> do
81+ let (prev, new) = HashMap. alterF (, Just v) f dict
82+ pure (new, (prev, dict))
83+ when (prev /= Just v) $
84+ recordDirtyKeys (shakeExtras state) IsFileOfInterest [f]
85+ logDebug (ideLogger state) $
86+ " Set files of interest to: " <> T. pack (show files)
8387
8488deleteFileOfInterest :: IdeState -> NormalizedFilePath -> IO ()
8589deleteFileOfInterest state f = do
You can’t perform that action at this time.
0 commit comments