From 0708f1ec15aba3aeb0427dceea77dbd37e933a3f Mon Sep 17 00:00:00 2001 From: Luke Lau Date: Wed, 14 Oct 2020 16:30:04 +0100 Subject: [PATCH] Update version of lsp --- cabal.project | 2 +- lsp-test.cabal | 1 - src/Language/LSP/Test.hs | 6 +++--- test/dummy-server/Main.hs | 14 +++++--------- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/cabal.project b/cabal.project index b41d336..07e67ee 100644 --- a/cabal.project +++ b/cabal.project @@ -7,6 +7,6 @@ haddock-quickjump: True source-repository-package type: git location: https://github.com/alanz/lsp.git - tag: ba6a7409f830be09f815489265a76499d7b7debb + tag: 7577be56392862abe880e0099ea9834a1012a34f subdir: . lsp-types diff --git a/lsp-test.cabal b/lsp-test.cabal index 0f32eb3..e2b0708 100644 --- a/lsp-test.cabal +++ b/lsp-test.cabal @@ -83,7 +83,6 @@ executable dummy-server ghc-options: -W build-depends: base >= 4.10 && < 5 , lsp == 1.0.* - , data-default , aeson , unordered-containers , directory diff --git a/src/Language/LSP/Test.hs b/src/Language/LSP/Test.hs index 4447373..9d7c020 100644 --- a/src/Language/LSP/Test.hs +++ b/src/Language/LSP/Test.hs @@ -366,7 +366,7 @@ sendNotification method params = IsClientEither -> sendMessage (NotMess $ NotificationMessage "2.0" method params) -- | Sends a response to the server. -sendResponse :: ToJSON (ResponseParams m) => ResponseMessage m -> Session () +sendResponse :: ToJSON (ResponseResult m) => ResponseMessage m -> Session () sendResponse = sendMessage -- | Returns the initialize response that was received from the server. @@ -642,7 +642,7 @@ getImplementations :: TextDocumentIdentifier -- ^ The document the term is in. getImplementations = getDeclarationyRequest STextDocumentImplementation ImplementationParams -getDeclarationyRequest :: (ResponseParams m ~ (Location |? (List Location |? List LocationLink))) +getDeclarationyRequest :: (ResponseResult m ~ (Location |? (List Location |? List LocationLink))) => SClientMethod m -> (TextDocumentIdentifier -> Position @@ -683,7 +683,7 @@ getHighlights doc pos = -- | Checks the response for errors and throws an exception if needed. -- Returns the result if successful. -getResponseResult :: ResponseMessage m -> ResponseParams m +getResponseResult :: ResponseMessage m -> ResponseResult m getResponseResult rsp = case rsp ^. result of Right x -> x diff --git a/test/dummy-server/Main.hs b/test/dummy-server/Main.hs index 95b98c9..1af140e 100644 --- a/test/dummy-server/Main.hs +++ b/test/dummy-server/Main.hs @@ -3,12 +3,10 @@ import Control.Monad import Control.Monad.Reader -import Data.Aeson -import Data.Default +import Data.Aeson hiding (defaultOptions) import qualified Data.HashMap.Strict as HM import Data.List (isSuffixOf) -import Language.LSP.Control -import Language.LSP.Core +import Language.LSP.Server import Language.LSP.Types import System.Directory import System.FilePath @@ -17,18 +15,16 @@ import UnliftIO.Concurrent main = do handlerEnv <- HandlerEnv <$> newEmptyMVar <*> newEmptyMVar - let initCbs = - InitializeCallbacks + runServer $ ServerDefinition { doInitialize = \env _req -> pure $ Right env, onConfigurationChange = const $ pure $ Right (), staticHandlers = handlers, interpretHandler = \env -> Iso (\m -> runLspT env (runReaderT m handlerEnv)) - liftIO + liftIO, + options = defaultOptions {executeCommandCommands = Just ["doAnEdit"]} } - options = def {executeCommandCommands = Just ["doAnEdit"]} - run initCbs options data HandlerEnv = HandlerEnv { relRegToken :: MVar (RegistrationToken WorkspaceDidChangeWatchedFiles), -- 2.30.2