-listenServer :: [FromServerMessage] -> RequestMap -> MVar LspId -> MVar LspIdRsp -> MVar Bool -> Handle -> Session ()
-listenServer [] _ _ _ passVar _ = liftIO $ putMVar passVar True
-listenServer expectedMsgs reqMap reqSema rspSema passVar serverOut = do
-
- let handler :: IOException -> IO B.ByteString
- handler _ = putMVar passVar False >> return B.empty
-
- msgBytes <- liftIO $ catch (getNextMessage serverOut) handler
+-- listenServer :: [FromServerMessage]
+-- -> RequestMap
+-- -> MVar LspId
+-- -> MVar LspIdRsp
+-- -> MVar ()
+-- -> ThreadId
+-- -> Handle
+-- -> SessionContext
+-- -> IO ()
+listenServer [] _ _ _ passSema _ _ _ = putMVar passSema ()
+listenServer expectedMsgs reqMap reqSema rspSema passSema mainThreadId serverOut ctx = do
+
+ msgBytes <- getNextMessage serverOut