X-Git-Url: https://git.lukelau.me/?a=blobdiff_plain;f=test%2Fdummy-server%2FMain.hs;h=6beee8bb3ecc17aacd43fe4783dc6dca1eb38b71;hb=a3f3199c221524124aeabce9a91e73655800a862;hp=7c73e3b019ecb676583410b1efd1e78a153d1ccb;hpb=aa0ac8a0a985651741e11efc3af3973db88cf80f;p=lsp-test.git diff --git a/test/dummy-server/Main.hs b/test/dummy-server/Main.hs index 7c73e3b..6beee8b 100644 --- a/test/dummy-server/Main.hs +++ b/test/dummy-server/Main.hs @@ -6,6 +6,7 @@ import Control.Monad.Reader import Data.Aeson hiding (defaultOptions) import qualified Data.HashMap.Strict as HM import Data.List (isSuffixOf) +import Data.String import Language.LSP.Server import Language.LSP.Types import System.Directory @@ -37,14 +38,14 @@ handlers = [ notificationHandler SInitialized $ \_noti -> sendNotification SWindowLogMessage $ - LogMessageParams MtLog "initialized", - requestHandler STextDocumentHover $ + LogMessageParams MtLog "initialized" + , requestHandler STextDocumentHover $ \_req responder -> responder $ Right $ Just $ - Hover (HoverContents (MarkupContent MkPlainText "hello")) Nothing, - requestHandler STextDocumentDocumentSymbol $ + Hover (HoverContents (MarkupContent MkPlainText "hello")) Nothing + , requestHandler STextDocumentDocumentSymbol $ \_req responder -> responder $ Right $ @@ -58,8 +59,8 @@ handlers = (mkRange 0 0 3 6) (mkRange 0 0 3 6) Nothing - ], - notificationHandler STextDocumentDidOpen $ + ] + , notificationHandler STextDocumentDidOpen $ \noti -> do let NotificationMessage _ _ (DidOpenTextDocumentParams doc) = noti TextDocumentItem uri _ _ _ = doc @@ -106,7 +107,7 @@ handlers = DidChangeWatchedFilesRegistrationOptions $ List [ FileSystemWatcher - (curDir "*.watch") + (fromString $ curDir "*.watch") (Just (WatchKind True True True)) ] Just token <- runInIO $ @@ -123,8 +124,8 @@ handlers = when (".unregister.abs" `isSuffixOf` fp) $ do Just token <- runInIO $ asks absRegToken >>= tryReadMVar - runInIO $ unregisterCapability token, - requestHandler SWorkspaceExecuteCommand $ \req resp -> do + runInIO $ unregisterCapability token + , requestHandler SWorkspaceExecuteCommand $ \req resp -> do let RequestMessage _ _ _ (ExecuteCommandParams Nothing "doAnEdit" (Just (List [val]))) = req Success docUri = fromJSON val edit = List [TextEdit (mkRange 0 0 0 5) "howdy"] @@ -132,8 +133,8 @@ handlers = ApplyWorkspaceEditParams (Just "Howdy edit") $ WorkspaceEdit (Just (HM.singleton docUri edit)) Nothing resp $ Right Null - void $ sendRequest SWorkspaceApplyEdit params (const (pure ())), - requestHandler STextDocumentCodeAction $ \req resp -> do + void $ sendRequest SWorkspaceApplyEdit params (const (pure ())) + , requestHandler STextDocumentCodeAction $ \req resp -> do let RequestMessage _ _ _ params = req CodeActionParams _ _ _ _ cactx = params CodeActionContext diags _ = cactx @@ -145,9 +146,10 @@ handlers = (Just (List [d])) Nothing Nothing + Nothing (Just (Command "" "deleteThis" Nothing)) - resp $ Right $ InR <$> codeActions, - requestHandler STextDocumentCompletion $ \_req resp -> do + resp $ Right $ InR <$> codeActions + , requestHandler STextDocumentCompletion $ \_req resp -> do let res = CompletionList True (List [item]) item = CompletionItem