X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=test%2Fdummy-server%2FMain.hs;h=52fc4bc6eee7a983110b7a7334d19bbbbd7d62f5;hb=refs%2Fheads%2Ffilewatch;hp=8120b030431c1bb0ce6b977f7a750755bb9dabda;hpb=71f5ececdaa02c87b026c40d70fb55c4a0d05044;p=lsp-test.git diff --git a/test/dummy-server/Main.hs b/test/dummy-server/Main.hs index 8120b03..52fc4bc 100644 --- a/test/dummy-server/Main.hs +++ b/test/dummy-server/Main.hs @@ -59,7 +59,7 @@ handlers lfvar = def fmServerPublishDiagnosticsNotification $ PublishDiagnosticsParams uri $ List [diag] -- also act as a registerer for workspace/didChangeWatchedFiles - when ("/register" `isSuffixOf` fp) $ do + when (".register" `isSuffixOf` fp) $ do reqId <- readMVar lfvar >>= getNextReqId send $ ReqRegisterCapability $ fmServerRegisterCapabilityRequest reqId $ RegistrationParams $ List $ @@ -67,7 +67,7 @@ handlers lfvar = def DidChangeWatchedFilesRegistrationOptions $ List [ FileSystemWatcher "*.watch" (Just (WatchKind True True True)) ] ] - when ("/register.abs" `isSuffixOf` fp) $ do + when (".register.abs" `isSuffixOf` fp) $ do curDir <- getCurrentDirectory reqId <- readMVar lfvar >>= getNextReqId send $ ReqRegisterCapability $ fmServerRegisterCapabilityRequest reqId $ @@ -76,16 +76,29 @@ 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 + when (".unregister" `isSuffixOf` fp) $ do reqId <- readMVar lfvar >>= getNextReqId send $ ReqUnregisterCapability $ fmServerUnregisterCapabilityRequest reqId $ UnregistrationParams $ List [ Unregistration "0" "workspace/didChangeWatchedFiles" ] - when ("/unregister.abs" `isSuffixOf` fp) $ do + when (".unregister.abs" `isSuffixOf` fp) $ do 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