X-Git-Url: https://git.lukelau.me/?p=lsp-test.git;a=blobdiff_plain;f=src%2FLanguage%2FLSP%2FTest%2FSession.hs;fp=src%2FLanguage%2FLSP%2FTest%2FSession.hs;h=55055cdebfce545b65755a9c5b7f3c72f33feb3b;hp=4e3b1777298c78e4024f526aa37b36de3a56bacf;hb=bc51093aee605aebada2e22d92563c2acb2fbf29;hpb=4e142f8f3d28cbbec21b86f5579060ecce5d03e1 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