Skip to content

Commit c4c9cb9

Browse files
committed
wait for progress create response
1 parent b583662 commit c4c9cb9

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

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

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import Control.Monad.Extra
1717
import Control.Monad.IO.Class
1818
import qualified Control.Monad.STM as STM
1919
import Control.Monad.Trans.Class (lift)
20+
import Data.Foldable (for_)
2021
import qualified Data.HashMap.Strict as HMap
2122
import qualified Data.Text as T
2223
import Data.Unique
@@ -100,13 +101,12 @@ delayedProgressReporting before after lspEnv optProgressStyle = do
100101
liftIO $ sleep before
101102
u <- ProgressTextToken . T.pack . show . hashUnique <$> liftIO newUnique
102103

104+
b <- liftIO newBarrier
103105
void $ LSP.sendRequest LSP.SWindowWorkDoneProgressCreate
104-
LSP.WorkDoneProgressCreateParams { _token = u } $ const (pure ())
106+
LSP.WorkDoneProgressCreateParams { _token = u } $ liftIO . signalBarrier b
107+
ready <- liftIO $ waitBarrier b
105108

106-
bracket_
107-
(start u)
108-
(stop u)
109-
(loop u 0)
109+
for_ ready $ const $ bracket_ (start u) (stop u) (loop u 0)
110110
where
111111
start id = LSP.sendNotification LSP.SProgress $
112112
LSP.ProgressParams

0 commit comments

Comments
 (0)