Skip to content

Commit 60e36d1

Browse files
committed
run notification handlers sequentially
1 parent 7714299 commit 60e36d1

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

exe/Plugins.hs

+3-2
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,6 @@ idePlugins includeExamples = pluginDescToIdePlugins allPlugins
8989
then basePlugins ++ examplePlugins
9090
else basePlugins
9191
basePlugins =
92-
GhcIde.descriptors ++
9392
#if pragmas
9493
Pragmas.descriptor "pragmas" :
9594
#endif
@@ -135,7 +134,9 @@ idePlugins includeExamples = pluginDescToIdePlugins allPlugins
135134
#if splice
136135
Splice.descriptor "splice" :
137136
#endif
138-
[]
137+
-- The ghcide descriptors should come last so that the notification handlers
138+
-- (which restart the Shake build) run after everything else
139+
GhcIde.descriptors
139140
examplePlugins =
140141
[Example.descriptor "eg"
141142
,Example2.descriptor "eg2"

ghcide/src/Development/IDE/Plugin/HLS.hs

+4-6
Original file line numberDiff line numberDiff line change
@@ -179,13 +179,11 @@ extensibleNotificationPlugins defaultConfig xs = Plugin mempty handlers
179179
Nothing -> do
180180
liftIO $ logInfo (ideLogger ide) "extensibleNotificationPlugins no enabled plugins"
181181
pure ()
182-
-- We run the notifications in order, so the built-in ghcide
183-
-- processing (which restarts the shake process) comes last
184-
-- Just fs -> void $ runConcurrentlyNotification (show m) fs ide params
185182
Just fs -> do
186-
liftIO $ logInfo (ideLogger ide) $ "extensibleNotificationPlugins number of plugins:" <> T.pack (show (length fs))
187-
-- run notification handlers in parallel
188-
mapConcurrently_ (\(_pid,f) -> f ide params) fs
183+
-- We run the notifications in order, so the core ghcide provider
184+
-- (which restarts the shake process) hopefully comes last
185+
-- TODO tracing
186+
mapM_ (\(_pid,f) -> f ide params) fs
189187

190188
-- ---------------------------------------------------------------------
191189

0 commit comments

Comments
 (0)