- 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 swapUri' (DSSymbolInformation si) = DSSymbolInformation (swapUri location <$> si)
+ swapUri' (DSDocumentSymbols dss) = DSDocumentSymbols dss -- no file locations here
+ in RspDocumentSymbols $ r & result %~ (fmap swapUri')
+
+ fromServerMsg (RspRename r) = RspRename $ r & result %~ (fmap swapWorkspaceEdit)
+