aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Kolb <[email protected]>2021-02-13 18:54:39 +0000
committerJeremy Kolb <[email protected]>2021-02-14 19:51:29 +0000
commit8105418b25ad7d4d6facc68ab6818573f30b44a4 (patch)
tree2b1b3fca36b16826d0214e04235fdbbc7f008eea
parent425c56aa52b13c010f99cb26202c00517c02f846 (diff)
Start LSP 3.17 support
-rw-r--r--Cargo.lock11
-rw-r--r--crates/rust-analyzer/Cargo.toml2
-rw-r--r--crates/rust-analyzer/src/bin/main.rs1
-rw-r--r--crates/rust-analyzer/src/caps.rs3
-rw-r--r--editors/code/package-lock.json36
-rw-r--r--editors/code/package.json6
-rw-r--r--editors/code/src/client.ts2
7 files changed, 28 insertions, 33 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 99b7ccf69..3850d675b 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -99,12 +99,6 @@ dependencies = [
99] 99]
100 100
101[[package]] 101[[package]]
102name = "base64"
103version = "0.12.3"
104source = "registry+https://github.com/rust-lang/crates.io-index"
105checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff"
106
107[[package]]
108name = "base_db" 102name = "base_db"
109version = "0.0.0" 103version = "0.0.0"
110dependencies = [ 104dependencies = [
@@ -840,11 +834,10 @@ dependencies = [
840 834
841[[package]] 835[[package]]
842name = "lsp-types" 836name = "lsp-types"
843version = "0.86.0" 837version = "0.87.0"
844source = "registry+https://github.com/rust-lang/crates.io-index" 838source = "registry+https://github.com/rust-lang/crates.io-index"
845checksum = "f2a5c40d566f2704dac30859bca152217583fc94fd5b178d8baba915e1abd382" 839checksum = "05ee10a6da8f7ca2eb2881258d23ef3576da85cbd19b314da8e9028eb68eedf0"
846dependencies = [ 840dependencies = [
847 "base64",
848 "bitflags", 841 "bitflags",
849 "serde", 842 "serde",
850 "serde_json", 843 "serde_json",
diff --git a/crates/rust-analyzer/Cargo.toml b/crates/rust-analyzer/Cargo.toml
index 82ea76666..746b4cdaa 100644
--- a/crates/rust-analyzer/Cargo.toml
+++ b/crates/rust-analyzer/Cargo.toml
@@ -22,7 +22,7 @@ env_logger = { version = "0.8.1", default-features = false }
22itertools = "0.10.0" 22itertools = "0.10.0"
23jod-thread = "0.1.0" 23jod-thread = "0.1.0"
24log = "0.4.8" 24log = "0.4.8"
25lsp-types = { version = "0.86.0", features = ["proposed"] } 25lsp-types = { version = "0.87.0", features = ["proposed"] }
26parking_lot = "0.11.0" 26parking_lot = "0.11.0"
27pico-args = "0.4.0" 27pico-args = "0.4.0"
28oorandom = "11.1.2" 28oorandom = "11.1.2"
diff --git a/crates/rust-analyzer/src/bin/main.rs b/crates/rust-analyzer/src/bin/main.rs
index 088b17b03..93d0ad4ec 100644
--- a/crates/rust-analyzer/src/bin/main.rs
+++ b/crates/rust-analyzer/src/bin/main.rs
@@ -127,6 +127,7 @@ fn run_server() -> Result<()> {
127 name: String::from("rust-analyzer"), 127 name: String::from("rust-analyzer"),
128 version: Some(String::from(env!("REV"))), 128 version: Some(String::from(env!("REV"))),
129 }), 129 }),
130 offset_encoding: None,
130 }; 131 };
131 132
132 let initialize_result = serde_json::to_value(initialize_result).unwrap(); 133 let initialize_result = serde_json::to_value(initialize_result).unwrap();
diff --git a/crates/rust-analyzer/src/caps.rs b/crates/rust-analyzer/src/caps.rs
index f148521a2..aa48c455c 100644
--- a/crates/rust-analyzer/src/caps.rs
+++ b/crates/rust-analyzer/src/caps.rs
@@ -34,6 +34,8 @@ pub fn server_capabilities(client_caps: &ClientCapabilities) -> ServerCapabiliti
34 completion_provider: Some(CompletionOptions { 34 completion_provider: Some(CompletionOptions {
35 resolve_provider: completions_resolve_provider(client_caps), 35 resolve_provider: completions_resolve_provider(client_caps),
36 trigger_characters: Some(vec![":".to_string(), ".".to_string()]), 36 trigger_characters: Some(vec![":".to_string(), ".".to_string()]),
37 all_commit_characters: None,
38 completion_item: None,
37 work_done_progress_options: WorkDoneProgressOptions { work_done_progress: None }, 39 work_done_progress_options: WorkDoneProgressOptions { work_done_progress: None },
38 }), 40 }),
39 signature_help_provider: Some(SignatureHelpOptions { 41 signature_help_provider: Some(SignatureHelpOptions {
@@ -58,7 +60,6 @@ pub fn server_capabilities(client_caps: &ClientCapabilities) -> ServerCapabiliti
58 more_trigger_character: Some(vec![".".to_string(), ">".to_string()]), 60 more_trigger_character: Some(vec![".".to_string(), ">".to_string()]),
59 }), 61 }),
60 selection_range_provider: Some(SelectionRangeProviderCapability::Simple(true)), 62 selection_range_provider: Some(SelectionRangeProviderCapability::Simple(true)),
61 semantic_highlighting: None,
62 folding_range_provider: Some(FoldingRangeProviderCapability::Simple(true)), 63 folding_range_provider: Some(FoldingRangeProviderCapability::Simple(true)),
63 rename_provider: Some(OneOf::Right(RenameOptions { 64 rename_provider: Some(OneOf::Right(RenameOptions {
64 prepare_provider: Some(true), 65 prepare_provider: Some(true),
diff --git a/editors/code/package-lock.json b/editors/code/package-lock.json
index 2d717e366..42077a7fa 100644
--- a/editors/code/package-lock.json
+++ b/editors/code/package-lock.json
@@ -195,9 +195,9 @@
195 } 195 }
196 }, 196 },
197 "@types/vscode": { 197 "@types/vscode": {
198 "version": "1.52.0", 198 "version": "1.53.0",
199 "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.52.0.tgz", 199 "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.53.0.tgz",
200 "integrity": "sha512-Kt3bvWzAvvF/WH9YEcrCICDp0Z7aHhJGhLJ1BxeyNP6yRjonWqWnAIh35/pXAjswAnWOABrYlF7SwXR9+1nnLA==", 200 "integrity": "sha512-XjFWbSPOM0EKIT2XhhYm3D3cx3nn3lshMUcWNy1eqefk+oqRuBq8unVb6BYIZqXy9lQZyeUl7eaBCOZWv+LcXQ==",
201 "dev": true 201 "dev": true
202 }, 202 },
203 "@typescript-eslint/eslint-plugin": { 203 "@typescript-eslint/eslint-plugin": {
@@ -2364,33 +2364,33 @@
2364 } 2364 }
2365 }, 2365 },
2366 "vscode-jsonrpc": { 2366 "vscode-jsonrpc": {
2367 "version": "6.0.0", 2367 "version": "6.1.0-next.1",
2368 "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0.tgz", 2368 "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.1.0-next.1.tgz",
2369 "integrity": "sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==" 2369 "integrity": "sha512-2s1qEg8N97p8pooHnA8xgR4vnslCTJuE3rQqSQeJuSDklFcQSn9yW8gOinH/1vKeWiPuzHTG9FFty91v4v9Pag=="
2370 }, 2370 },
2371 "vscode-languageclient": { 2371 "vscode-languageclient": {
2372 "version": "7.0.0", 2372 "version": "7.1.0-next.1",
2373 "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0.tgz", 2373 "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.1.0-next.1.tgz",
2374 "integrity": "sha512-P9AXdAPlsCgslpP9pRxYPqkNYV7Xq8300/aZDpO35j1fJm/ncize8iGswzYlcvFw5DQUx4eVk+KvfXdL0rehNg==", 2374 "integrity": "sha512-pMdMyJ5e3CfdyvtDsj6ytTO+WcmrvtrFJWvBk4rZnIKmA3aCjrqTYI0XSWN/Cf4kcaV1J2+fTZf/2RcP2SzDiQ==",
2375 "requires": { 2375 "requires": {
2376 "minimatch": "^3.0.4", 2376 "minimatch": "^3.0.4",
2377 "semver": "^7.3.4", 2377 "semver": "^7.3.4",
2378 "vscode-languageserver-protocol": "3.16.0" 2378 "vscode-languageserver-protocol": "3.17.0-next.1"
2379 } 2379 }
2380 }, 2380 },
2381 "vscode-languageserver-protocol": { 2381 "vscode-languageserver-protocol": {
2382 "version": "3.16.0", 2382 "version": "3.17.0-next.1",
2383 "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0.tgz", 2383 "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.1.tgz",
2384 "integrity": "sha512-sdeUoAawceQdgIfTI+sdcwkiK2KU+2cbEYA0agzM2uqaUy2UpnnGHtWTHVEtS0ES4zHU0eMFRGN+oQgDxlD66A==", 2384 "integrity": "sha512-cbFKGk+Q7HQ5RDdf6qiQrRv9qxR/87hBm/GrfLcQ5rmHPJOXg//ZYCXEQF+wSJNmcc6IrnET2cHJUxlZYHUEXA==",
2385 "requires": { 2385 "requires": {
2386 "vscode-jsonrpc": "6.0.0", 2386 "vscode-jsonrpc": "6.1.0-next.1",
2387 "vscode-languageserver-types": "3.16.0" 2387 "vscode-languageserver-types": "3.17.0-next.1"
2388 } 2388 }
2389 }, 2389 },
2390 "vscode-languageserver-types": { 2390 "vscode-languageserver-types": {
2391 "version": "3.16.0", 2391 "version": "3.17.0-next.1",
2392 "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0.tgz", 2392 "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.1.tgz",
2393 "integrity": "sha512-k8luDIWJWyenLc5ToFQQMaSrqCHiLwyKPHKPQZ5zz21vM+vIVUSvsRpcbiECH4WR88K2XZqc4ScRcZ7nk/jbeA==" 2393 "integrity": "sha512-VGzh06oynbYa6JbTKUbxOEZN7CYEtWhN7DK5wfzUpeCJl8X8xZX39g2PVfpqXrIEduu7dcJgK007KgnX9tHNKA=="
2394 }, 2394 },
2395 "vscode-test": { 2395 "vscode-test": {
2396 "version": "1.4.1", 2396 "version": "1.4.1",
diff --git a/editors/code/package.json b/editors/code/package.json
index defa108cb..d26c64a57 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -21,7 +21,7 @@
21 "Programming Languages" 21 "Programming Languages"
22 ], 22 ],
23 "engines": { 23 "engines": {
24 "vscode": "^1.52.0" 24 "vscode": "^1.53.0"
25 }, 25 },
26 "enableProposedApi": true, 26 "enableProposedApi": true,
27 "scripts": { 27 "scripts": {
@@ -36,7 +36,7 @@
36 }, 36 },
37 "dependencies": { 37 "dependencies": {
38 "node-fetch": "^2.6.1", 38 "node-fetch": "^2.6.1",
39 "vscode-languageclient": "7.0.0" 39 "vscode-languageclient": "^7.1.0-next.1"
40 }, 40 },
41 "devDependencies": { 41 "devDependencies": {
42 "@rollup/plugin-commonjs": "^17.0.0", 42 "@rollup/plugin-commonjs": "^17.0.0",
@@ -45,7 +45,7 @@
45 "@types/mocha": "^8.0.4", 45 "@types/mocha": "^8.0.4",
46 "@types/node": "~12.12.6", 46 "@types/node": "~12.12.6",
47 "@types/node-fetch": "^2.5.7", 47 "@types/node-fetch": "^2.5.7",
48 "@types/vscode": "^1.52.0", 48 "@types/vscode": "^1.53.0",
49 "@typescript-eslint/eslint-plugin": "^4.9.0", 49 "@typescript-eslint/eslint-plugin": "^4.9.0",
50 "@typescript-eslint/parser": "^4.9.0", 50 "@typescript-eslint/parser": "^4.9.0",
51 "eslint": "^7.15.0", 51 "eslint": "^7.15.0",
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts
index aec5c70c0..db5f4c023 100644
--- a/editors/code/src/client.ts
+++ b/editors/code/src/client.ts
@@ -79,7 +79,7 @@ export function createClient(serverPath: string, cwd: string, extraEnv: Env): lc
79 return hover; 79 return hover;
80 }, 80 },
81 (error) => { 81 (error) => {
82 client.handleFailedRequest(lc.HoverRequest.type, error, null); 82 client.handleFailedRequest(lc.HoverRequest.type, token, error, null);
83 return Promise.resolve(null); 83 return Promise.resolve(null);
84 }); 84 });
85 }, 85 },