X-Git-Url: http://git.lukelau.me/?p=opengl.git;a=blobdiff_plain;f=src%2FLanguage%2FHaskell%2FLSP%2FTest%2FServer.hs;h=7d00f2382900e454b5b67b32de1a33ffc71a4caa;hp=c59a755979314316d4759765088f883df873c73a;hb=269f303e5e44fba835c51eacfca622c488a06b9f;hpb=600388d3b0320b4f9374e8a781743877f4e263c7 diff --git a/src/Language/Haskell/LSP/Test/Server.hs b/src/Language/Haskell/LSP/Test/Server.hs index c59a755..7d00f23 100644 --- a/src/Language/Haskell/LSP/Test/Server.hs +++ b/src/Language/Haskell/LSP/Test/Server.hs @@ -6,8 +6,8 @@ import Language.Haskell.LSP.Test.Compat import System.IO import System.Process -withServer :: String -> (Handle -> Handle -> Int -> IO a) -> IO a -withServer serverExe f = do +withServer :: String -> Bool -> (Handle -> Handle -> Int -> IO a) -> IO a +withServer serverExe logStdErr f = do -- TODO Probably should just change runServer to accept -- separate command and arguments let cmd:args = words serverExe @@ -17,7 +17,7 @@ withServer serverExe f = do -- Need to continuously consume to stderr else it gets blocked -- Can't pass NoStream either to std_err hSetBuffering serverErr NoBuffering - errSinkThread <- forkIO $ forever $ hGetLine serverErr + errSinkThread <- forkIO $ forever $ hGetLine serverErr >>= when logStdErr . putStrLn pid <- getProcessID serverProc