diff options
author | Jeremy Kolb <[email protected]> | 2021-02-13 18:54:39 +0000 |
---|---|---|
committer | Jeremy Kolb <[email protected]> | 2021-02-14 19:51:29 +0000 |
commit | 8105418b25ad7d4d6facc68ab6818573f30b44a4 (patch) | |
tree | 2b1b3fca36b16826d0214e04235fdbbc7f008eea | |
parent | 425c56aa52b13c010f99cb26202c00517c02f846 (diff) |
Start LSP 3.17 support
-rw-r--r-- | Cargo.lock | 11 | ||||
-rw-r--r-- | crates/rust-analyzer/Cargo.toml | 2 | ||||
-rw-r--r-- | crates/rust-analyzer/src/bin/main.rs | 1 | ||||
-rw-r--r-- | crates/rust-analyzer/src/caps.rs | 3 | ||||
-rw-r--r-- | editors/code/package-lock.json | 36 | ||||
-rw-r--r-- | editors/code/package.json | 6 | ||||
-rw-r--r-- | editors/code/src/client.ts | 2 |
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]] |
102 | name = "base64" | ||
103 | version = "0.12.3" | ||
104 | source = "registry+https://github.com/rust-lang/crates.io-index" | ||
105 | checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" | ||
106 | |||
107 | [[package]] | ||
108 | name = "base_db" | 102 | name = "base_db" |
109 | version = "0.0.0" | 103 | version = "0.0.0" |
110 | dependencies = [ | 104 | dependencies = [ |
@@ -840,11 +834,10 @@ dependencies = [ | |||
840 | 834 | ||
841 | [[package]] | 835 | [[package]] |
842 | name = "lsp-types" | 836 | name = "lsp-types" |
843 | version = "0.86.0" | 837 | version = "0.87.0" |
844 | source = "registry+https://github.com/rust-lang/crates.io-index" | 838 | source = "registry+https://github.com/rust-lang/crates.io-index" |
845 | checksum = "f2a5c40d566f2704dac30859bca152217583fc94fd5b178d8baba915e1abd382" | 839 | checksum = "05ee10a6da8f7ca2eb2881258d23ef3576da85cbd19b314da8e9028eb68eedf0" |
846 | dependencies = [ | 840 | dependencies = [ |
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 } | |||
22 | itertools = "0.10.0" | 22 | itertools = "0.10.0" |
23 | jod-thread = "0.1.0" | 23 | jod-thread = "0.1.0" |
24 | log = "0.4.8" | 24 | log = "0.4.8" |
25 | lsp-types = { version = "0.86.0", features = ["proposed"] } | 25 | lsp-types = { version = "0.87.0", features = ["proposed"] } |
26 | parking_lot = "0.11.0" | 26 | parking_lot = "0.11.0" |
27 | pico-args = "0.4.0" | 27 | pico-args = "0.4.0" |
28 | oorandom = "11.1.2" | 28 | oorandom = "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 | }, |