From: Luke Lau Date: Wed, 13 Jun 2018 17:31:44 +0000 (-0400) Subject: Change runSession return result from passed session instead of () X-Git-Tag: 0.1.0.0~70 X-Git-Url: http://git.lukelau.me/?p=lsp-test.git;a=commitdiff_plain;h=bf93e74482200ee189ca0be09970b9a34bb1511c Change runSession return result from passed session instead of () --- diff --git a/src/Language/Haskell/LSP/Test.hs b/src/Language/Haskell/LSP/Test.hs index 8da0cbb..4f3094f 100644 --- a/src/Language/Haskell/LSP/Test.hs +++ b/src/Language/Haskell/LSP/Test.hs @@ -85,7 +85,7 @@ import Language.Haskell.LSP.Test.Parsing runSession :: String -- ^ The command to run the server. -> FilePath -- ^ The filepath to the root directory for the session. -> Session a -- ^ The session to run. - -> IO () + -> IO a runSession serverExe rootDir session = do pid <- getProcessID absRootDir <- canonicalizePath rootDir @@ -112,10 +112,12 @@ runSession serverExe rootDir session = do sendNotification Initialized InitializedParams -- Run the actual test - session + result <- session sendNotification Exit ExitParams + return result + -- | An internal version of 'runSession' that allows for a custom handler to listen to the server. -- It also does not automatically send initialize and exit messages. runSessionWithHandler :: (Handle -> Session ())