diff options
Diffstat (limited to 'src/server/requests.odin')
| -rw-r--r-- | src/server/requests.odin | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/server/requests.odin b/src/server/requests.odin index 17597be..f03750c 100644 --- a/src/server/requests.odin +++ b/src/server/requests.odin @@ -697,6 +697,8 @@ request_initialize :: proc( signatureTriggerCharacters := []string{"(", ","} signatureRetriggerCharacters := []string{","} + semantic_range_support := initialize_params.capabilities.textDocument.semanticTokens.requests.range + response := make_response_message( params = ResponseInitializeParams { capabilities = ServerCapabilities { @@ -716,8 +718,8 @@ request_initialize :: proc( retriggerCharacters = signatureRetriggerCharacters, }, semanticTokensProvider = SemanticTokensOptions { - range = config.enable_semantic_tokens, - full = false, + range = config.enable_semantic_tokens && semantic_range_support, + full = config.enable_semantic_tokens && !semantic_range_support, legend = SemanticTokensLegend { tokenTypes = semantic_token_type_names, tokenModifiers = semantic_token_modifier_names, |