- let newDocChanges = fmap (fmap (swapUri textDocument)) $ r ^. params . edit . documentChanges
- r1 = (params . edit . documentChanges) .~ newDocChanges $ r
- newChanges = fmap (swapKeys f) $ r1 ^. params . edit . changes
- r2 = (params . edit . changes) .~ newChanges $ r1
- in ReqApplyWorkspaceEdit r2
+ ReqApplyWorkspaceEdit $ params . edit .~ swapWorkspaceEdit (r ^. params . edit) $ r
+
+ fromServerMsg (NotPublishDiagnostics n) = NotPublishDiagnostics $ swapUri params n
+
+ fromServerMsg (RspDocumentSymbols r) =
+ let newSymbols = case r ^. result of
+ Just (DSSymbolInformation si) -> Just (DSSymbolInformation (fmap (swapUri location) si))
+ x -> x
+ in RspDocumentSymbols $ result .~ newSymbols $ r
+
+ fromServerMsg (RspRename r) =
+ let oldResult = r ^. result :: Maybe WorkspaceEdit
+ newResult = fmap swapWorkspaceEdit oldResult
+ in RspRename $ result .~ newResult $ r
+