X-Git-Url: https://git.lukelau.me/?p=lsp-test.git;a=blobdiff_plain;f=test%2Fdummy-server%2FMain.hs;fp=test%2Fdummy-server%2FMain.hs;h=52fc4bc6eee7a983110b7a7334d19bbbbd7d62f5;hp=aa73677eb061e8be697723286469b36692d20d1d;hb=e5da0e9511c679626dbe40a99e8c0de0c968dddf;hpb=4ade7ffa7ba14d0087121bc8c4255e130e343dfb diff --git a/test/dummy-server/Main.hs b/test/dummy-server/Main.hs index aa73677..52fc4bc 100644 --- a/test/dummy-server/Main.hs +++ b/test/dummy-server/Main.hs @@ -76,6 +76,15 @@ handlers lfvar = def DidChangeWatchedFilesRegistrationOptions $ List [ FileSystemWatcher (curDir "*.watch") (Just (WatchKind True True True)) ] ] + when (".register.tmp" `isSuffixOf` fp) $ do + tmpDir <- getTemporaryDirectory + reqId <- readMVar lfvar >>= getNextReqId + send $ ReqRegisterCapability $ fmServerRegisterCapabilityRequest reqId $ + RegistrationParams $ List $ + [ Registration "2" WorkspaceDidChangeWatchedFiles $ Just $ toJSON $ + DidChangeWatchedFilesRegistrationOptions $ List + [ FileSystemWatcher (tmpDir "*.watch") (Just (WatchKind True True True)) ] + ] -- also act as an unregisterer for workspace/didChangeWatchedFiles when (".unregister" `isSuffixOf` fp) $ do @@ -86,6 +95,10 @@ handlers lfvar = def reqId <- readMVar lfvar >>= getNextReqId send $ ReqUnregisterCapability $ fmServerUnregisterCapabilityRequest reqId $ UnregistrationParams $ List [ Unregistration "1" "workspace/didChangeWatchedFiles" ] + when (".unregister.tmp" `isSuffixOf` fp) $ do + reqId <- readMVar lfvar >>= getNextReqId + send $ ReqUnregisterCapability $ fmServerUnregisterCapabilityRequest reqId $ + UnregistrationParams $ List [ Unregistration "2" "workspace/didChangeWatchedFiles" ] , executeCommandHandler = pure $ \req -> do send $ RspExecuteCommand $ makeResponseMessage req Null reqId <- readMVar lfvar >>= getNextReqId