X-Git-Url: https://git.lukelau.me/?a=blobdiff_plain;f=src%2FLanguage%2FHaskell%2FLSP%2FTest%2FServer.hs;h=0a77a6193e6fb9c320531e65f74255576bccf8f4;hb=1b1df64886e90bb77c2804452945ff0d66963e0a;hp=5449dfbbf40317aae94ba65a17ef9d169dc08a6b;hpb=b00bc722f2bba5276e895cf2c769cf139e4f2ed3;p=lsp-test.git diff --git a/src/Language/Haskell/LSP/Test/Server.hs b/src/Language/Haskell/LSP/Test/Server.hs index 5449dfb..0a77a61 100644 --- a/src/Language/Haskell/LSP/Test/Server.hs +++ b/src/Language/Haskell/LSP/Test/Server.hs @@ -2,11 +2,10 @@ module Language.Haskell.LSP.Test.Server (withServer) where import Control.Concurrent.Async import Control.Monad -import Language.Haskell.LSP.Test.Compat import System.IO import System.Process -withServer :: String -> Bool -> (Handle -> Handle -> Int -> IO a) -> IO a +withServer :: String -> Bool -> (Handle -> Handle -> ProcessHandle -> IO a) -> IO a withServer serverExe logStdErr f = do -- TODO Probably should just change runServer to accept -- separate command and arguments @@ -19,5 +18,4 @@ withServer serverExe logStdErr f = do hSetBinaryMode serverErr True let errSinkThread = forever $ hGetLine serverErr >>= when logStdErr . putStrLn withAsync errSinkThread $ \_ -> do - pid <- getProcessID serverProc - f serverIn serverOut pid + f serverIn serverOut serverProc