Support haskell-lsp-0.22
[lsp-test.git] / src / Language / Haskell / LSP / Test / Files.hs
index deb89e84c06a8b1be92d1c8bdda61e957c4debbd..b56f536a660bb9dd5812b019a381cf6ec5714e3b 100644 (file)
@@ -8,7 +8,8 @@ module Language.Haskell.LSP.Test.Files
 where
 
 import           Language.Haskell.LSP.Capture
-import           Language.Haskell.LSP.Types hiding ( error )
+import           Language.Haskell.LSP.Types
+import           Language.Haskell.LSP.Types.Lens
 import           Language.Haskell.LSP.Messages
 import           Control.Lens
 import qualified Data.HashMap.Strict           as HM
@@ -62,13 +63,11 @@ mapUris f event =
     fromServerMsg (NotPublishDiagnostics n) = NotPublishDiagnostics $ swapUri params n
 
     fromServerMsg (RspDocumentSymbols r) =
-      let newSymbols = fmap (fmap (swapUri location)) $ r ^. result
-      in RspDocumentSymbols $ result .~ newSymbols $ 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) =
-      let oldResult = r ^. result :: Maybe WorkspaceEdit
-          newResult = fmap swapWorkspaceEdit oldResult
-      in RspRename $ result .~ newResult $ r
+    fromServerMsg (RspRename r) = RspRename $ r & result %~ (fmap swapWorkspaceEdit)
 
     fromServerMsg x = x