From 4460336fdae3a6c0c8ebe8e6b8842604743cf985 Mon Sep 17 00:00:00 2001 From: Nayeem Rahman Date: Sun, 10 Sep 2023 20:09:45 +0100 Subject: [PATCH] fix(lsp): always enable semantic tokens responses (#20440) --- cli/lsp/language_server.rs | 8 ++---- cli/tests/integration/lsp_tests.rs | 39 ++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/cli/lsp/language_server.rs b/cli/lsp/language_server.rs index 7a69d84307..26d03b76d7 100644 --- a/cli/lsp/language_server.rs +++ b/cli/lsp/language_server.rs @@ -2832,9 +2832,7 @@ impl Inner { let specifier = self .url_map .normalize_url(¶ms.text_document.uri, LspUrlKind::File); - if !self.is_diagnosable(&specifier) - || !self.config.specifier_enabled(&specifier) - { + if !self.is_diagnosable(&specifier) { return Ok(None); } @@ -2869,9 +2867,7 @@ impl Inner { let specifier = self .url_map .normalize_url(¶ms.text_document.uri, LspUrlKind::File); - if !self.is_diagnosable(&specifier) - || !self.config.specifier_enabled(&specifier) - { + if !self.is_diagnosable(&specifier) { return Ok(None); } diff --git a/cli/tests/integration/lsp_tests.rs b/cli/tests/integration/lsp_tests.rs index 263e66da59..64c59ce7d9 100644 --- a/cli/tests/integration/lsp_tests.rs +++ b/cli/tests/integration/lsp_tests.rs @@ -5499,6 +5499,45 @@ fn lsp_npm_completions_auto_import_and_quick_fix_no_import_map() { ); } +#[test] +fn lsp_semantic_tokens_for_disabled_module() { + let context = TestContextBuilder::new() + .use_http_server() + .use_temp_cwd() + .build(); + let mut client = context.new_lsp_command().build(); + client.initialize_with_config( + |builder| { + builder.set_deno_enable(false); + }, + json!({ + "enable": false + }), + ); + client.did_open(json!({ + "textDocument": { + "uri": "file:///a/file.ts", + "languageId": "typescript", + "version": 1, + "text": "const someConst = 1; someConst" + } + })); + let res = client.write_request( + "textDocument/semanticTokens/full", + json!({ + "textDocument": { + "uri": "file:///a/file.ts" + } + }), + ); + assert_eq!( + res, + json!({ + "data": [0, 6, 9, 7, 9, 0, 15, 9, 7, 8], + }) + ); +} + #[test] fn lsp_completions_auto_import_and_quick_fix_with_import_map() { let context = TestContextBuilder::new()