aboutsummaryrefslogtreecommitdiff
path: root/src/server/requests.odin
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/requests.odin')
-rw-r--r--src/server/requests.odin6
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,