Skip to content

Commit be5a5ff

Browse files
authored
Fix: enable dynamic registration for semantic tokens; fix CantRegister log (#635)
1 parent ed13637 commit be5a5ff

2 files changed

Lines changed: 5 additions & 4 deletions

File tree

lsp-types/src/Language/LSP/Protocol/Capabilities.hs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -298,9 +298,10 @@ dynamicRegistrationSupported m caps = fromMaybe False $ case m of
298298
SMethod_TextDocumentMoniker -> caps ^? dyn m
299299
SMethod_TextDocumentPrepareTypeHierarchy -> caps ^? dyn m
300300
SMethod_TextDocumentDiagnostic -> caps ^? dyn m
301-
-- semantic tokens is messed up due to it having you register with an otherwise non-existent method
302-
-- SMethod_TextDocumentSemanticTokens -> capDyn $ clientCaps ^? L.textDocument . _Just . L.semanticTokens . _Just
303-
-- Notebook document methods alway support dynamic registration, it seems?
301+
SMethod_TextDocumentSemanticTokensFull -> caps ^? dyn m
302+
SMethod_TextDocumentSemanticTokensFullDelta -> caps ^? dyn m
303+
SMethod_TextDocumentSemanticTokensRange -> caps ^? dyn m
304+
-- Notebook document methods always support dynamic registration, it seems?
304305
_ -> Just False
305306
where
306307
dyn :: L.HasDynamicRegistration (ClientCapability m) (Maybe Bool) => SMethod m -> Traversal' ClientCapabilities Bool

lsp/src/Language/LSP/Server/Core.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -620,7 +620,7 @@ trySendRegistration logger method regOpts = do
620620

621621
pure (Just $ RegistrationToken method regId)
622622
else do
623-
logger <& CantRegister SMethod_WorkspaceDidChangeConfiguration `WithSeverity` Warning
623+
logger <& CantRegister method `WithSeverity` Warning
624624
pure Nothing
625625

626626
{- | Sends a @client/unregisterCapability@ request and removes the handler

0 commit comments

Comments
 (0)