Skip to content

Commit 9f0978f

Browse files
committed
Link shakeReverseDependencies to optRunSubset
1 parent ac1c346 commit 9f0978f

6 files changed

Lines changed: 31 additions & 28 deletions

File tree

ghcide/exe/Main.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,11 @@ import Development.IDE (Logger (Logger),
2222
Priority (Info), action)
2323
import Development.IDE.Core.OfInterest (kick)
2424
import Development.IDE.Core.Rules (mainRule)
25+
import Development.IDE.Graph (ShakeOptions (shakeThreads))
2526
import qualified Development.IDE.Main as Main
2627
import qualified Development.IDE.Plugin.HLS.GhcIde as GhcIde
2728
import qualified Development.IDE.Plugin.Test as Test
2829
import Development.IDE.Types.Options
29-
import Development.IDE.Graph (ShakeOptions (shakeThreads))
3030
import Ide.Plugin.Config (Config (checkParents, checkProject))
3131
import Ide.Plugin.ConfigUtils (pluginsToDefaultConfig,
3232
pluginsToVSCodeExtensionSchema)
@@ -98,8 +98,8 @@ main = do
9898
then Test.plugin
9999
else mempty
100100

101-
,Main.argsIdeOptions = \config sessionLoader ->
102-
let defOptions = defaultIdeOptions sessionLoader
101+
,Main.argsIdeOptions = \config sessionLoader ->
102+
let defOptions = Main.argsIdeOptions def config sessionLoader
103103
in defOptions
104104
{ optShakeProfiling = argsShakeProfiling
105105
, optOTMemoryProfiling = IdeOTMemoryProfiling argsOTMemoryProfiling

ghcide/src/Development/IDE/Main.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ instance Default Arguments where
148148
, argsGhcidePlugin = mempty
149149
, argsHlsPlugins = pluginDescToIdePlugins Ghcide.descriptors
150150
, argsSessionLoadingOptions = def
151-
, argsIdeOptions = const defaultIdeOptions
151+
, argsIdeOptions = const (defaultIdeOptions False)
152152
, argsLspOptions = def {LSP.completionTriggerCharacters = Just "."}
153153
, argsDefaultHlsConfig = def
154154
, argsGetHieDbLoc = getHieDbLoc

ghcide/src/Development/IDE/Types/Options.hs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ optShakeFiles opts
9090
| otherwise = Just value
9191
where
9292
value = shakeFiles (optShakeOptions opts)
93-
defValue = shakeFiles (optShakeOptions $ defaultIdeOptions undefined)
93+
defValue = shakeFiles (optShakeOptions $ defaultIdeOptions False undefined)
9494
data OptHaddockParse = HaddockParse | NoHaddockParse
9595
deriving (Eq,Ord,Show,Enum)
9696

@@ -119,15 +119,16 @@ clientSupportsProgress :: LSP.ClientCapabilities -> IdeReportProgress
119119
clientSupportsProgress caps = IdeReportProgress $ Just True ==
120120
(LSP._workDoneProgress =<< LSP._window (caps :: LSP.ClientCapabilities))
121121

122-
defaultIdeOptions :: Action IdeGhcSession -> IdeOptions
123-
defaultIdeOptions session = IdeOptions
122+
defaultIdeOptions :: Bool -> Action IdeGhcSession -> IdeOptions
123+
defaultIdeOptions optRunSubsetValue session = IdeOptions
124124
{optPreprocessor = IdePreprocessedSource [] []
125125
,optGhcSession = session
126126
,optExtensions = ["hs", "lhs"]
127127
,optPkgLocationOpts = defaultIdePkgLocationOptions
128128
,optShakeOptions = shakeOptions
129129
{shakeThreads = 0
130130
,shakeFiles = "/dev/null"
131+
,shakeReverseDependencies = optRunSubsetValue
131132
}
132133
,optShakeProfiling = Nothing
133134
,optOTMemoryProfiling = IdeOTMemoryProfiling False
@@ -143,7 +144,7 @@ defaultIdeOptions session = IdeOptions
143144
,optCustomDynFlags = id
144145
,optSkipProgress = defaultSkipProgress
145146
,optProgressStyle = Explicit
146-
,optRunSubset = False
147+
,optRunSubset = optRunSubsetValue
147148
}
148149

149150
defaultSkipProgress :: Typeable a => a -> Bool

hls-graph/src/Development/IDE/Graph.hs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ module Development.IDE.Graph(
77
actionFinally, actionBracket, actionCatch,
88
Shake.ShakeException(..),
99
-- * Configuration
10-
ShakeOptions(shakeAllowRedefineRules, shakeThreads, shakeFiles, shakeExtra),
10+
ShakeOptions(shakeAllowRedefineRules, shakeThreads, shakeFiles, shakeExtra, shakeReverseDependencies),
1111
getShakeExtra, getShakeExtraRules, newShakeExtra,
1212
-- * Explicit parallelism
1313
parallel,
@@ -19,7 +19,7 @@ module Development.IDE.Graph(
1919
reschedule,
2020
) where
2121

22-
import qualified Development.Shake as Shake
23-
import Development.IDE.Graph.Internal.Action
24-
import Development.IDE.Graph.Internal.Options
25-
import Development.IDE.Graph.Internal.Rules
22+
import Development.IDE.Graph.Internal.Action
23+
import Development.IDE.Graph.Internal.Options
24+
import Development.IDE.Graph.Internal.Rules
25+
import qualified Development.Shake as Shake

hls-graph/src/Development/IDE/Graph/Internal/Options.hs

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,32 @@
22

33
module Development.IDE.Graph.Internal.Options where
44

5-
import qualified Development.Shake as Shake
6-
import qualified Data.HashMap.Strict as Map
7-
import Development.IDE.Graph.Internal.Action
8-
import Development.IDE.Graph.Internal.Rules
9-
import Data.Dynamic
5+
import Data.Dynamic
6+
import qualified Data.HashMap.Strict as Map
7+
import Development.IDE.Graph.Internal.Action
8+
import Development.IDE.Graph.Internal.Rules
9+
import qualified Development.Shake as Shake
1010

1111
data ShakeOptions = ShakeOptions {
12-
shakeThreads :: Int,
13-
shakeFiles :: FilePath,
14-
shakeExtra :: Maybe Dynamic,
15-
shakeAllowRedefineRules :: Bool,
16-
shakeTimings :: Bool
12+
shakeThreads :: Int,
13+
shakeFiles :: FilePath,
14+
shakeExtra :: Maybe Dynamic,
15+
shakeAllowRedefineRules :: Bool,
16+
shakeReverseDependencies :: Bool,
17+
shakeTimings :: Bool
1718
}
1819

1920
shakeOptions :: ShakeOptions
20-
shakeOptions = ShakeOptions 0 ".shake" Nothing False False
21+
shakeOptions = ShakeOptions 0 ".shake" Nothing False False False
2122

2223
fromShakeOptions :: ShakeOptions -> Shake.ShakeOptions
2324
fromShakeOptions ShakeOptions{..} = Shake.shakeOptions{
2425
Shake.shakeThreads = shakeThreads,
2526
Shake.shakeFiles = shakeFiles,
2627
Shake.shakeExtra = maybe Map.empty f shakeExtra,
2728
Shake.shakeAllowRedefineRules = shakeAllowRedefineRules,
28-
Shake.shakeTimings = shakeTimings
29+
Shake.shakeTimings = shakeTimings,
30+
Shake.shakeReverseDependencies = shakeReverseDependencies
2931
}
3032
where f x = Map.singleton (dynTypeRep x) x
3133

src/Ide/Main.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@ import qualified Data.ByteString.Lazy.Char8 as LBS
1515
import Data.Default
1616
import qualified Data.Text as T
1717
import Development.IDE.Core.Rules
18+
import Development.IDE.Graph (ShakeOptions (shakeThreads))
1819
import Development.IDE.Main (isLSP)
1920
import qualified Development.IDE.Main as Main
2021
import qualified Development.IDE.Session as Session
2122
import Development.IDE.Types.Logger as G
2223
import qualified Development.IDE.Types.Options as Ghcide
23-
import Development.IDE.Graph (ShakeOptions (shakeThreads))
2424
import Ide.Arguments
2525
import Ide.Logger
2626
import Ide.Plugin.ConfigUtils (pluginsToDefaultConfig,
@@ -98,8 +98,8 @@ runLspMode ghcideArgs@GhcideArguments{..} idePlugins = do
9898
{ Main.argCommand = argsCommand
9999
, Main.argsHlsPlugins = idePlugins
100100
, Main.argsLogger = pure hlsLogger
101-
, Main.argsIdeOptions = \_config sessionLoader ->
102-
let defOptions = Ghcide.defaultIdeOptions sessionLoader
101+
, Main.argsIdeOptions = \config sessionLoader ->
102+
let defOptions = Main.argsIdeOptions def config sessionLoader
103103
in defOptions
104104
{ Ghcide.optShakeProfiling = argsShakeProfiling
105105
, Ghcide.optTesting = Ghcide.IdeTesting argsTesting

0 commit comments

Comments
 (0)