@@ -19,24 +19,19 @@ module Development.IDE.Core.OfInterest(
1919import Control.Concurrent.Strict
2020import Control.Monad
2121import Control.Monad.IO.Class
22- import Data.HashMap.Strict (HashMap )
23- import qualified Data.HashMap.Strict as HashMap
24- import qualified Data.Text as T
22+ import Data.HashMap.Strict (HashMap )
23+ import qualified Data.HashMap.Strict as HashMap
24+ import qualified Data.Text as T
2525import Development.IDE.Graph
2626
27- import Control.Monad.Trans.Class
28- import Control.Monad.Trans.Maybe
29- import qualified Data.ByteString as BS
30- import Data.List.Extra (nubOrd )
31- import Data.Maybe (catMaybes )
27+ import qualified Data.ByteString as BS
28+ import Data.Maybe (catMaybes )
3229import Development.IDE.Core.ProgressReporting
3330import Development.IDE.Core.RuleTypes
3431import Development.IDE.Core.Shake
35- import Development.IDE.Import.DependencyInformation
3632import Development.IDE.Types.Exports
3733import Development.IDE.Types.Location
3834import Development.IDE.Types.Logger
39- import Development.IDE.Types.Options
4035
4136newtype OfInterestVar = OfInterestVar (Var (HashMap NormalizedFilePath FileOfInterestStatus ))
4237instance IsIdeGlobal OfInterestVar
@@ -98,25 +93,13 @@ deleteFileOfInterest state f = do
9893kick :: Action ()
9994kick = do
10095 files <- HashMap. keys <$> getFilesOfInterestUntracked
101- ShakeExtras {progress} <- getShakeExtras
96+ ShakeExtras {exportsMap, progress} <- getShakeExtras
10297 liftIO $ progressUpdate progress KickStarted
10398
104- -- Update the exports map for FOIs
99+ -- Update the exports map
105100 results <- uses GenerateCore files <* uses GetHieAst files
106-
107- -- Update the exports map for non FOIs
108- -- We can skip this if checkProject is True, assuming they never change under our feet.
109- IdeOptions { optCheckProject = doCheckProject } <- getIdeOptions
110- checkProject <- liftIO doCheckProject
111- ifaces <- if checkProject then return Nothing else runMaybeT $ do
112- deps <- MaybeT $ sequence <$> uses GetDependencies files
113- hiResults <- lift $ uses GetModIface (nubOrd $ foldMap transitiveModuleDeps deps)
114- return $ map hirModIface $ catMaybes hiResults
115-
116- ShakeExtras {exportsMap} <- getShakeExtras
117101 let mguts = catMaybes results
118102 ! exportsMap' = createExportsMapMg mguts
119- ! exportsMap'' = maybe mempty createExportsMap ifaces
120- void $ liftIO $ modifyVar' exportsMap $ (exportsMap'' <> ) . (exportsMap' <> )
103+ void $ liftIO $ modifyVar' exportsMap (exportsMap' <> )
121104
122105 liftIO $ progressUpdate progress KickCompleted
0 commit comments