Change runSession return result from passed session instead of ()
authorLuke Lau <luke_lau@icloud.com>
Wed, 13 Jun 2018 17:31:44 +0000 (13:31 -0400)
committerLuke Lau <luke_lau@icloud.com>
Wed, 13 Jun 2018 17:31:44 +0000 (13:31 -0400)
src/Language/Haskell/LSP/Test.hs

index 8da0cbbee8ba065533e8e0d06ac79e3f35ee4612..4f3094f87d58034d5fc2b0d11c87973464ddd7d4 100644 (file)
@@ -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 ())