X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=src%2FLanguage%2FHaskell%2FLSP%2FTest%2FFiles.hs;h=1c453a6e2632c83d233358cd57de7d730319db98;hb=fa0bdbf2ca975ea2493d0fcfaa6cb63c076567c1;hp=f82df65cf6cef89640538575cffb69923c32934e;hpb=13928a9c66b4a352ae784660877d4fae57ac81d9;p=lsp-test.git diff --git a/src/Language/Haskell/LSP/Test/Files.hs b/src/Language/Haskell/LSP/Test/Files.hs index f82df65..1c453a6 100644 --- a/src/Language/Haskell/LSP/Test/Files.hs +++ b/src/Language/Haskell/LSP/Test/Files.hs @@ -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 hiding (error) import Language.Haskell.LSP.Messages import Control.Lens import qualified Data.HashMap.Strict as HM @@ -50,7 +51,7 @@ mapUris f event = fromClientMsg (NotWillSaveTextDocument n) = NotWillSaveTextDocument $ swapUri (params . textDocument) n fromClientMsg (NotDidSaveTextDocument n) = NotDidSaveTextDocument $ swapUri (params . textDocument) n fromClientMsg (NotDidCloseTextDocument n) = NotDidCloseTextDocument $ swapUri (params . textDocument) n - fromClientMsg (ReqInitialize r) = ReqInitialize $ params .~ (transformInit (r ^. params)) $ r + fromClientMsg (ReqInitialize r) = ReqInitialize $ params .~ transformInit (r ^. params) $ r fromClientMsg (ReqDocumentSymbols r) = ReqDocumentSymbols $ swapUri (params . textDocument) r fromClientMsg (ReqRename r) = ReqRename $ swapUri (params . textDocument) r fromClientMsg x = x @@ -62,7 +63,9 @@ mapUris f event = fromServerMsg (NotPublishDiagnostics n) = NotPublishDiagnostics $ swapUri params n fromServerMsg (RspDocumentSymbols r) = - let newSymbols = fmap (fmap (swapUri location)) $ r ^. result + 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) =