X-Git-Url: https://git.lukelau.me/?p=lsp-test.git;a=blobdiff_plain;f=src%2FLanguage%2FHaskell%2FLSP%2FTest%2FDecoding.hs;h=5e1846634638867dc6f2a18333d8dfcff9972592;hp=d99163e6f54e882afe10b56958cbf39495776c6f;hb=f2862c89be8f545d0cda5890dce58d31c15127f6;hpb=45b4169bf7edd0a7e5585df7713a4464670c7048 diff --git a/src/Language/Haskell/LSP/Test/Decoding.hs b/src/Language/Haskell/LSP/Test/Decoding.hs index d99163e..5e18466 100644 --- a/src/Language/Haskell/LSP/Test/Decoding.hs +++ b/src/Language/Haskell/LSP/Test/Decoding.hs @@ -21,11 +21,9 @@ import System.IO.Error import Language.Haskell.LSP.Types import Language.Haskell.LSP.Types.Lens import Language.Haskell.LSP.Test.Exceptions -import qualified Data.HashMap.Strict as HM import Data.IxMap import Data.Kind -import Data.Maybe getAllMessages :: Handle -> IO [B.ByteString] getAllMessages h = do @@ -85,7 +83,7 @@ getRequestMap = foldl' helper emptyIxMap ReqMess msg -> fromJust $ updateRequestMap acc (msg ^. id) m _ -> acc -decodeFromServerMsg :: RequestMap -> B.ByteString -> (FromServerMessage, RequestMap) +decodeFromServerMsg :: RequestMap -> B.ByteString -> (RequestMap, FromServerMessage) decodeFromServerMsg reqMap bytes = unP $ fromJust $ parseMaybe p obj where obj = fromJust $ decode bytes :: Value p = parseServerMessage $ \lid -> @@ -93,8 +91,8 @@ decodeFromServerMsg reqMap bytes = unP $ fromJust $ parseMaybe p obj in case mm of Nothing -> Nothing Just m -> Just $ (m, Pair m (Const newMap)) - unP (FromServerMess m msg) = (FromServerMess m msg, reqMap) - unP (FromServerRsp (Pair m (Const newMap)) msg) = (FromServerRsp m msg, newMap) + unP (FromServerMess m msg) = (reqMap, FromServerMess m msg) + unP (FromServerRsp (Pair m (Const newMap)) msg) = (newMap, FromServerRsp m msg) {- WorkspaceWorkspaceFolders -> error "ReqWorkspaceFolders not supported yet" WorkspaceConfiguration -> error "ReqWorkspaceConfiguration not supported yet"