X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=src%2FLanguage%2FHaskell%2FLSP%2FTest%2FServer.hs;h=473f2c76e1c39c46252e0f1b0a0933a05db60185;hb=5d58e92cc411d9f89f55737b6a225075e77f4f6b;hp=65011fd3f106b0947243590c8b86af6b014dffd6;hpb=5170a20560a68b8fcaed83ecaf6146d84a147992;p=lsp-test.git diff --git a/src/Language/Haskell/LSP/Test/Server.hs b/src/Language/Haskell/LSP/Test/Server.hs index 65011fd..473f2c7 100644 --- a/src/Language/Haskell/LSP/Test/Server.hs +++ b/src/Language/Haskell/LSP/Test/Server.hs @@ -1,4 +1,4 @@ -module Language.Haskell.LSP.Test.Server where +module Language.Haskell.LSP.Test.Server (withServer) where import Control.Concurrent import Control.Monad @@ -8,7 +8,10 @@ import System.Process withServer :: String -> (Handle -> Handle -> Int -> IO a) -> IO a withServer serverExe f = do - let createProc = (shell serverExe) { std_in = CreatePipe, std_out = CreatePipe, std_err = CreatePipe } + -- TODO Probably should just change runServer to accept + -- separate command and arguments + let cmd:args = words serverExe + createProc = (proc cmd args) { std_in = CreatePipe, std_out = CreatePipe, std_err = CreatePipe } (Just serverIn, Just serverOut, Just serverErr, serverProc) <- createProcess createProc -- Need to continuously consume to stderr else it gets blocked