Skip to content

Commit 02253c2

Browse files
committed
Minor Changes
1 parent 73c9b8f commit 02253c2

5 files changed

Lines changed: 22 additions & 14 deletions

File tree

ghcide/src/Development/IDE/Core/OfInterest.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ scheduleGarbageCollection state = do
134134
-- Could be improved
135135
kick :: Action ()
136136
kick = do
137-
files <- HashMap.keys <$> getFilesOfInterestUntracked
137+
filesOfInterestMap <- getFilesOfInterestUntracked
138138
ShakeExtras{exportsMap, ideTesting = IdeTesting testing, lspEnv, progress} <- getShakeExtras
139139
let signal :: KnownSymbol s => Proxy s -> Action ()
140140
signal msg = when testing $ liftIO $

ghcide/src/Development/IDE/Core/Shake.hs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,7 @@ import Data.Hashable
108108
import qualified Data.HashMap.Strict as HMap
109109
import Data.HashSet (HashSet)
110110
import qualified Data.HashSet as HSet
111-
import Data.List.Extra (foldl', partition,
112-
takeEnd)
111+
import Data.List.Extra (partition, takeEnd)
113112
import qualified Data.Map.Strict as Map
114113
import Data.Maybe
115114
import qualified Data.SortedList as SL

plugins/hls-class-plugin/src/Ide/Plugin/Class/Types.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,9 @@ import Development.IDE
2121
import Development.IDE.Core.PluginUtils (useMT)
2222
import qualified Development.IDE.Core.Shake as Shake
2323
import Development.IDE.GHC.Compat hiding (newUnique, (<+>))
24+
#if !MIN_VERSION_ghc(9,11,0)
2425
import Development.IDE.GHC.Compat.Util (bagToList)
26+
#endif
2527
import Development.IDE.Graph.Classes
2628
import GHC.Generics
2729
import Ide.Plugin.Class.Utils
@@ -76,9 +78,7 @@ instance NFData ClassInstancesResult where
7678
rnf = rwhnf
7779

7880
type instance RuleResult GetClassInstances = ClassInstancesResult
79-
80-
type instance RuleResult GetInstanceBindTypeSigs = InstanceBindTypeSigsResult
81-
type instance RuleInput GetInstanceBindTypeSigs = ProjectHaskellFiles
81+
type instance RuleInput GetClassInstances = ProjectHaskellFiles
8282

8383
-- |The necessary data to execute our code lens
8484
data InstanceBindLensCommand = InstanceBindLensCommand

plugins/hls-stan-plugin/src/Ide/Plugin/Stan.hs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{-# LANGUAGE CPP #-}
2+
{-# LANGUAGE DataKinds #-}
23
{-# LANGUAGE PatternSynonyms #-}
34
module Ide.Plugin.Stan (descriptor, Log) where
45

@@ -11,6 +12,9 @@ import qualified Data.HashMap.Strict as HM
1112
import Data.Maybe (mapMaybe)
1213
import qualified Data.Text as T
1314
import Development.IDE
15+
import Development.IDE.Core.InputPath
16+
(classifyProjectHaskellInputs,
17+
unInputPath)
1418
import Development.IDE.Core.Rules (getHieFile)
1519
import qualified Development.IDE.Core.Shake as Shake
1620
import Development.IDE.GHC.Compat (HieFile (..))
@@ -110,6 +114,7 @@ rules :: Recorder (WithPriority Log) -> PluginId -> Rules ()
110114
rules recorder plId = do
111115
define (cmapWithPrio LogShake recorder) $
112116
\GetStanDiagnostics file -> do
117+
let nfp = unInputPath file
113118
config <- getPluginConfigAction plId
114119
if plcGlobalOn config && plcDiagnosticsOn config then do
115120
maybeHie <- getHieFile file
@@ -144,7 +149,7 @@ rules recorder plId = do
144149

145150
-- Note that Stan works in terms of relative paths, but the HIE come in as absolute. Without
146151
-- making its path relative, the file name(s) won't line up with the associated Map keys.
147-
relativeHsFilePath <- liftIO $ makeRelativeToCurrentDirectory $ fromNormalizedFilePath file
152+
relativeHsFilePath <- liftIO $ makeRelativeToCurrentDirectory $ fromNormalizedFilePath nfp
148153
let hieRelative = hie{hie_hs_file=relativeHsFilePath}
149154

150155
(checksMap, ignoredObservations) <- case configTrial of
@@ -161,12 +166,13 @@ rules recorder plId = do
161166
-- A Map from *relative* file paths (just one, in this case) to language extension info:
162167
cabalExtensionsMap <- liftIO $ createCabalExtensionsMap isLoud (stanArgsCabalFilePath stanArgs) [hieRelative]
163168
let analysis = runAnalysis cabalExtensionsMap checksMap ignoredObservations [hieRelative]
164-
return (analysisToDiagnostics file analysis, Just ())
169+
return (analysisToDiagnostics nfp analysis, Just ())
165170
else return ([], Nothing)
166171

167172
action $ do
168-
files <- getFilesOfInterestUntracked
169-
void $ uses GetStanDiagnostics $ HM.keys files
173+
filesOfInterest <- getFilesOfInterestUntracked
174+
let files = classifyProjectHaskellInputs $ HM.keys filesOfInterest
175+
void $ uses GetStanDiagnostics $ files
170176
where
171177
analysisToDiagnostics :: NormalizedFilePath -> Analysis -> [FileDiagnostic]
172178
analysisToDiagnostics file = mapMaybe (observationToDianostic file) . toList . analysisObservations

test/functional/Config.hs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,12 @@ import Control.Monad
88
import Data.Hashable
99
import qualified Data.HashMap.Strict as HM
1010
import qualified Data.Map as Map
11-
import Development.IDE (RuleResult, action, define,
12-
getFilesOfInterestUntracked,
11+
import Development.IDE (action, define, getFilesOfInterestUntracked,
1312
getPluginConfigAction, ideErrorText,
1413
uses_)
14+
import Development.IDE.Core.InputPath
15+
(classifyProjectHaskellInputs,
16+
unInputPath)
1517
import Development.IDE.Test (ExpectedDiagnostic, expectDiagnostics)
1618
import GHC.Generics
1719
import Ide.Plugin.Config
@@ -86,9 +88,9 @@ genericConfigTests = testGroup "generic plugin config"
8688
plc <- getPluginConfigAction testPluginId
8789
when (plcGlobalOn plc && plcDiagnosticsOn plc) $ do
8890
files <- getFilesOfInterestUntracked
89-
void $ uses_ GetTestDiagnostics $ HM.keys files
91+
void $ uses_ GetTestDiagnostics $ classifyProjectHaskellInputs $ HM.keys files
9092
define mempty $ \GetTestDiagnostics file -> do
91-
let diags = [ideErrorText file "testplugin"]
93+
let diags = [ideErrorText (unInputPath file) "testplugin"]
9294
return (diags,Nothing)
9395
}
9496
-- A config that disables the plugin initially
@@ -105,6 +107,7 @@ data GetTestDiagnostics = GetTestDiagnostics
105107
instance Hashable GetTestDiagnostics
106108
instance NFData GetTestDiagnostics
107109
type instance RuleResult GetTestDiagnostics = ()
110+
type instance RuleInput GetTestDiagnostics = ProjectHaskellFiles
108111

109112
expectDiagnosticsFail
110113
:: HasCallStack

0 commit comments

Comments
 (0)