From: Luke Lau Date: Sun, 14 Feb 2021 03:15:13 +0000 (+0000) Subject: Merge pull request #87 from bubba/bump-lsp X-Git-Tag: 0.13.0.0 X-Git-Url: https://git.lukelau.me/?p=lsp-test.git;a=commitdiff_plain;h=55ae6885312a90117aab35acdfc470790f30cfca;hp=25171f02dad0cb0a870d1e8f61569eb678146c7a Merge pull request #87 from bubba/bump-lsp Bump lsp commit --- diff --git a/src/Language/LSP/Test/Parsing.hs b/src/Language/LSP/Test/Parsing.hs index ecf8e45..e55909f 100644 --- a/src/Language/LSP/Test/Parsing.hs +++ b/src/Language/LSP/Test/Parsing.hs @@ -110,7 +110,7 @@ named s (Session x) = Session (Data.Conduit.Parser.named s x) -- | Matches a request or a notification coming from the server. message :: SServerMethod m -> Session (ServerMessage m) -message m1 = named (T.pack $ show m1) $ satisfyMaybe $ \case +message m1 = named (T.pack $ "Request for: " <> show m1) $ satisfyMaybe $ \case FromServerMess m2 msg -> do HRefl <- mEqServer m1 m2 pure msg @@ -161,7 +161,7 @@ anyResponse = named "Any response" $ satisfy $ \case -- | Matches a response coming from the server. response :: SMethod (m :: Method FromClient Request) -> Session (ResponseMessage m) -response m1 = named (T.pack $ show m1) $ satisfyMaybe $ \case +response m1 = named (T.pack $ "Response for: " <> show m1) $ satisfyMaybe $ \case FromServerRsp m2 msg -> do HRefl <- mEqClient m1 m2 pure msg diff --git a/src/Language/LSP/Test/Session.hs b/src/Language/LSP/Test/Session.hs index 4e3b177..55055cd 100644 --- a/src/Language/LSP/Test/Session.hs +++ b/src/Language/LSP/Test/Session.hs @@ -297,7 +297,16 @@ runSession' serverIn serverOut mServerProc serverHandler config caps rootDir exi updateStateC :: ConduitM FromServerMessage FromServerMessage (StateT SessionState (ReaderT SessionContext IO)) () updateStateC = awaitForever $ \msg -> do updateState msg + respond msg yield msg + where + respond :: (MonadIO m, HasReader SessionContext m) => FromServerMessage -> m () + respond (FromServerMess SWindowWorkDoneProgressCreate req) = + sendMessage $ ResponseMessage "2.0" (Just $ req ^. LSP.id) (Right ()) + respond (FromServerMess SWorkspaceApplyEdit r) = do + sendMessage $ ResponseMessage "2.0" (Just $ r ^. LSP.id) (Right $ ApplyWorkspaceEditResponseBody True Nothing) + respond _ = pure () + -- extract Uri out from DocumentChange -- didn't put this in `lsp-types` because TH was getting in the way