projects
/
lsp-test.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update hie version
[lsp-test.git]
/
src
/
Language
/
Haskell
/
LSP
/
Test
/
Replay.hs
diff --git
a/src/Language/Haskell/LSP/Test/Replay.hs
b/src/Language/Haskell/LSP/Test/Replay.hs
index 76f9b688e479fd8c8ced740f055db55c72e84de8..ac55e9e749008c575f8a5c50dafbbec70b15040d 100644
(file)
--- a/
src/Language/Haskell/LSP/Test/Replay.hs
+++ b/
src/Language/Haskell/LSP/Test/Replay.hs
@@
-12,7
+12,8
@@
import qualified Data.ByteString.Lazy.Char8 as B
import qualified Data.Text as T
import Language.Haskell.LSP.Capture
import Language.Haskell.LSP.Messages
import qualified Data.Text as T
import Language.Haskell.LSP.Capture
import Language.Haskell.LSP.Messages
-import Language.Haskell.LSP.Types as LSP hiding (error)
+import Language.Haskell.LSP.Types
+import Language.Haskell.LSP.Types.Lens as LSP hiding (error)
import Data.Aeson
import Data.Default
import Data.List
import Data.Aeson
import Data.Default
import Data.List
@@
-22,6
+23,7
@@
import Control.Monad
import System.FilePath
import System.IO
import Language.Haskell.LSP.Test
import System.FilePath
import System.IO
import Language.Haskell.LSP.Test
+import Language.Haskell.LSP.Test.Compat
import Language.Haskell.LSP.Test.Files
import Language.Haskell.LSP.Test.Decoding
import Language.Haskell.LSP.Test.Messages
import Language.Haskell.LSP.Test.Files
import Language.Haskell.LSP.Test.Decoding
import Language.Haskell.LSP.Test.Messages
@@
-42,8
+44,9
@@
replaySession serverExe sessionDir = do
-- decode session
let unswappedEvents = map (fromJust . decode) entries
-- decode session
let unswappedEvents = map (fromJust . decode) entries
- withServer serverExe False $ \serverIn serverOut
pid
-> do
+ withServer serverExe False $ \serverIn serverOut
serverProc
-> do
+ pid <- getProcessID serverProc
events <- swapCommands pid <$> swapFiles sessionDir unswappedEvents
let clientEvents = filter isClientMsg events
events <- swapCommands pid <$> swapFiles sessionDir unswappedEvents
let clientEvents = filter isClientMsg events
@@
-58,12
+61,12
@@
replaySession serverExe sessionDir = do
mainThread <- myThreadId
sessionThread <- liftIO $ forkIO $
mainThread <- myThreadId
sessionThread <- liftIO $ forkIO $
- runSessionWithHandles serverIn
- serverOut
+ runSessionWithHandles serverIn serverOut serverProc
(listenServer serverMsgs requestMap reqSema rspSema passSema mainThread)
def
fullCaps
sessionDir
(listenServer serverMsgs requestMap reqSema rspSema passSema mainThread)
def
fullCaps
sessionDir
+ (return ()) -- No finalizer cleanup
(sendMessages clientMsgs reqSema rspSema)
takeMVar passSema
killThread sessionThread
(sendMessages clientMsgs reqSema rspSema)
takeMVar passSema
killThread sessionThread