summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNayeem Rahman <nayeemrmn99@gmail.com>2024-05-14 22:42:35 +0100
committerGitHub <noreply@github.com>2024-05-14 22:42:35 +0100
commitdda8979cb18a2477ceb2ba0e84e0342a7fc516bd (patch)
treefa1edcf340bfc23d73a46afdf262971f46b3d5cd
parente39b94f3aa09bc77280b98caebb9ae472f8f6c5a (diff)
fix(lsp): show reference code lens on methods (#23804)
-rw-r--r--cli/lsp/code_lens.rs1
-rw-r--r--tests/integration/lsp_tests.rs111
-rw-r--r--tests/util/server/src/lsp.rs5
3 files changed, 113 insertions, 4 deletions
diff --git a/cli/lsp/code_lens.rs b/cli/lsp/code_lens.rs
index 8300546b4..d7e9e7052 100644
--- a/cli/lsp/code_lens.rs
+++ b/cli/lsp/code_lens.rs
@@ -505,6 +505,7 @@ pub fn collect_tsc(
));
}
tsc::ScriptElementKind::LocalFunctionElement
+ | tsc::ScriptElementKind::MemberFunctionElement
| tsc::ScriptElementKind::MemberGetAccessorElement
| tsc::ScriptElementKind::MemberSetAccessorElement
| tsc::ScriptElementKind::ConstructorImplementationElement
diff --git a/tests/integration/lsp_tests.rs b/tests/integration/lsp_tests.rs
index d25443623..84f334992 100644
--- a/tests/integration/lsp_tests.rs
+++ b/tests/integration/lsp_tests.rs
@@ -3509,10 +3509,18 @@ fn lsp_semantic_tokens() {
}
#[test]
-fn lsp_code_lens() {
+fn lsp_code_lens_references() {
let context = TestContextBuilder::new().use_temp_cwd().build();
let mut client = context.new_lsp_command().build();
client.initialize_default();
+ client.change_configuration(json!({
+ "deno": {
+ "enable": true,
+ "codeLens": {
+ "references": true,
+ }
+ },
+ }));
client.did_open(json!({
"textDocument": {
"uri": "file:///a/file.ts",
@@ -3567,6 +3575,24 @@ fn lsp_code_lens() {
"specifier": "file:///a/file.ts",
"source": "references"
}
+ }, {
+ "range": {
+ "start": { "line": 3, "character": 2 },
+ "end": { "line": 3, "character": 3 }
+ },
+ "data": {
+ "specifier": "file:///a/file.ts",
+ "source": "references"
+ }
+ }, {
+ "range": {
+ "start": { "line": 7, "character": 2 },
+ "end": { "line": 7, "character": 3 }
+ },
+ "data": {
+ "specifier": "file:///a/file.ts",
+ "source": "references"
+ }
}])
);
let res = client.write_request(
@@ -3684,10 +3710,19 @@ fn lsp_code_lens() {
}
#[test]
-fn lsp_code_lens_impl() {
+fn lsp_code_lens_implementations() {
let context = TestContextBuilder::new().use_temp_cwd().build();
let mut client = context.new_lsp_command().build();
client.initialize_default();
+ client.change_configuration(json!({
+ "deno": {
+ "enable": true,
+ "codeLens": {
+ "implementations": true,
+ "references": true,
+ }
+ },
+ }));
client.did_open(
json!({
"textDocument": {
@@ -3728,6 +3763,15 @@ fn lsp_code_lens_impl() {
}
}, {
"range": {
+ "start": { "line": 1, "character": 2 },
+ "end": { "line": 1, "character": 3 }
+ },
+ "data": {
+ "specifier": "file:///a/file.ts",
+ "source": "references"
+ }
+ }, {
+ "range": {
"start": { "line": 4, "character": 6 },
"end": { "line": 4, "character": 7 }
},
@@ -3737,6 +3781,15 @@ fn lsp_code_lens_impl() {
}
}, {
"range": {
+ "start": { "line": 5, "character": 2 },
+ "end": { "line": 5, "character": 3 }
+ },
+ "data": {
+ "specifier": "file:///a/file.ts",
+ "source": "references"
+ }
+ }, {
+ "range": {
"start": { "line": 10, "character": 10 },
"end": { "line": 10, "character": 11 }
},
@@ -4130,6 +4183,15 @@ fn lsp_code_lens_non_doc_nav_tree() {
let context = TestContextBuilder::new().use_temp_cwd().build();
let mut client = context.new_lsp_command().build();
client.initialize_default();
+ client.change_configuration(json!({
+ "deno": {
+ "enable": true,
+ "codeLens": {
+ "implementations": true,
+ "references": true,
+ }
+ },
+ }));
client.did_open(json!({
"textDocument": {
"uri": "file:///a/file.ts",
@@ -4188,6 +4250,15 @@ fn lsp_nav_tree_updates() {
let context = TestContextBuilder::new().use_temp_cwd().build();
let mut client = context.new_lsp_command().build();
client.initialize_default();
+ client.change_configuration(json!({
+ "deno": {
+ "enable": true,
+ "codeLens": {
+ "implementations": true,
+ "references": true,
+ }
+ },
+ }));
client.did_open(
json!({
"textDocument": {
@@ -4228,6 +4299,15 @@ fn lsp_nav_tree_updates() {
}
}, {
"range": {
+ "start": { "line": 1, "character": 2 },
+ "end": { "line": 1, "character": 3 }
+ },
+ "data": {
+ "specifier": "file:///a/file.ts",
+ "source": "references"
+ }
+ }, {
+ "range": {
"start": { "line": 4, "character": 6 },
"end": { "line": 4, "character": 7 }
},
@@ -4237,6 +4317,15 @@ fn lsp_nav_tree_updates() {
}
}, {
"range": {
+ "start": { "line": 5, "character": 2 },
+ "end": { "line": 5, "character": 3 }
+ },
+ "data": {
+ "specifier": "file:///a/file.ts",
+ "source": "references"
+ }
+ }, {
+ "range": {
"start": { "line": 10, "character": 10 },
"end": { "line": 10, "character": 11 }
},
@@ -4312,6 +4401,15 @@ fn lsp_nav_tree_updates() {
}
}, {
"range": {
+ "start": { "line": 1, "character": 2 },
+ "end": { "line": 1, "character": 3 }
+ },
+ "data": {
+ "specifier": "file:///a/file.ts",
+ "source": "references"
+ }
+ }, {
+ "range": {
"start": { "line": 4, "character": 6 },
"end": { "line": 4, "character": 7 }
},
@@ -4319,6 +4417,15 @@ fn lsp_nav_tree_updates() {
"specifier": "file:///a/file.ts",
"source": "references"
}
+ }, {
+ "range": {
+ "start": { "line": 5, "character": 2 },
+ "end": { "line": 5, "character": 3 }
+ },
+ "data": {
+ "specifier": "file:///a/file.ts",
+ "source": "references"
+ }
}])
);
client.shutdown();
diff --git a/tests/util/server/src/lsp.rs b/tests/util/server/src/lsp.rs
index f91ea5634..68cdc3cd1 100644
--- a/tests/util/server/src/lsp.rs
+++ b/tests/util/server/src/lsp.rs
@@ -707,8 +707,9 @@ impl LspClient {
"cache": null,
"certificateStores": null,
"codeLens": {
- "implementations": true,
- "references": true,
+ "implementations": false,
+ "references": false,
+ "referencesAllFunctions": false,
"test": true,
},
"config": null,