Skip to content

Commit f5b48de

Browse files
committed
minor changes
1 parent 3c3415b commit f5b48de

6 files changed

Lines changed: 28 additions & 19 deletions

File tree

bench/Main.hs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -59,21 +59,22 @@ import Development.Benchmark.Rules hiding (parallelism)
5959
import Development.Shake (Action,
6060
Change (ChangeModtimeAndDigestInput),
6161
CmdOption (Cwd, StdinBS),
62-
RuleResult, Rules,
62+
Rules,
6363
ShakeOptions (shakeChange, shakeThreads),
6464
actionBracket, addOracle,
6565
askOracle, command, command_,
6666
getDirectoryFiles, liftIO, need,
6767
newCache, shakeArgsWith,
6868
shakeOptions, versioned, want)
69+
import qualified Development.Shake as Shake
6970
import Development.Shake.Classes
7071
import Experiments.Types (Example (exampleName),
7172
exampleToOptions)
7273
import GHC.Exts (toList)
7374
import GHC.Generics (Generic)
7475
import HlsPlugins (idePlugins)
7576
import qualified Ide.Plugin.Config as Plugin
76-
import Ide.Types hiding (Config)
77+
import Ide.Types hiding (Config, Rules)
7778
import Numeric.Natural (Natural)
7879
import System.Console.GetOpt
7980
import System.Directory
@@ -94,8 +95,8 @@ readConfigIO :: FilePath -> IO (Config BuildSystem)
9495
readConfigIO = decodeFileThrow
9596

9697
instance IsExample Example where getExampleName = exampleName
97-
type instance RuleResult GetExample = Maybe Example
98-
type instance RuleResult GetExamples = [Example]
98+
type instance Shake.RuleResult GetExample = Maybe Example
99+
type instance Shake.RuleResult GetExamples = [Example]
99100

100101
shakeOpts :: ShakeOptions
101102
shakeOpts =
@@ -185,7 +186,7 @@ disableAllPluginsBut pred = def {Plugin.plugins = pluginsMap} where
185186
IdePlugins plugins = idePlugins mempty
186187

187188
newtype GetSamples = GetSamples () deriving newtype (Binary, Eq, Hashable, NFData, Show)
188-
type instance RuleResult GetSamples = Natural
189+
type instance Shake.RuleResult GetSamples = Natural
189190

190191
--------------------------------------------------------------------------------
191192

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)