diff options
author | Michael Bolin <[email protected]> | 2019-07-11 06:49:29 +0100 |
---|---|---|
committer | Michael Bolin <[email protected]> | 2019-07-11 06:49:35 +0100 |
commit | e81a47b8ebce9bcf680b15c6e0c1e879200f75df (patch) | |
tree | b1cb42753d44169529ba62353746ce964bab5c7b | |
parent | a814883cd40be772d52bb8e7424326021fdb0e0e (diff) |
Remove executeCommandProvider: apply_code_action.
This appears to have been introduced ages ago in
https://github.com/rust-analyzer/rust-analyzer/commit/be742a587704f27f4e503c50f549aa9ec1527fcc
but has since been removed.
As it stands, it is problematic if multiple instances of the
rust-analyzer LSP are launched during the same VS Code session because
VS Code complains about multiple LSP servers trying to register the
same command.
Most LSP servers workaround this by parameterizing the command by the
process id. For example, this is where `rls` does this:
https://github.com/rust-lang/rls/blob/ff0b9057c8f62bc4f8113d741e96c9587ef1a817/rls/src/server/mod.rs#L413-L421
Though `apply_code_action` does not seems to be used, so it seems better
to delete it than to parameterize it.
-rw-r--r-- | crates/ra_lsp_server/src/caps.rs | 10 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/req.rs | 8 | ||||
-rw-r--r-- | docs/dev/lsp-features.md | 2 |
3 files changed, 8 insertions, 12 deletions
diff --git a/crates/ra_lsp_server/src/caps.rs b/crates/ra_lsp_server/src/caps.rs index 3851aadf2..bb9205aed 100644 --- a/crates/ra_lsp_server/src/caps.rs +++ b/crates/ra_lsp_server/src/caps.rs | |||
@@ -1,8 +1,8 @@ | |||
1 | use lsp_types::{ | 1 | use lsp_types::{ |
2 | CodeActionProviderCapability, CodeLensOptions, CompletionOptions, | 2 | CodeActionProviderCapability, CodeLensOptions, CompletionOptions, |
3 | DocumentOnTypeFormattingOptions, ExecuteCommandOptions, FoldingRangeProviderCapability, | 3 | DocumentOnTypeFormattingOptions, FoldingRangeProviderCapability, GenericCapability, |
4 | GenericCapability, ImplementationProviderCapability, RenameOptions, RenameProviderCapability, | 4 | ImplementationProviderCapability, RenameOptions, RenameProviderCapability, ServerCapabilities, |
5 | ServerCapabilities, SignatureHelpOptions, TextDocumentSyncCapability, TextDocumentSyncKind, | 5 | SignatureHelpOptions, TextDocumentSyncCapability, TextDocumentSyncKind, |
6 | TextDocumentSyncOptions, TypeDefinitionProviderCapability, | 6 | TextDocumentSyncOptions, TypeDefinitionProviderCapability, |
7 | }; | 7 | }; |
8 | 8 | ||
@@ -44,9 +44,7 @@ pub fn server_capabilities() -> ServerCapabilities { | |||
44 | prepare_provider: Some(true), | 44 | prepare_provider: Some(true), |
45 | })), | 45 | })), |
46 | color_provider: None, | 46 | color_provider: None, |
47 | execute_command_provider: Some(ExecuteCommandOptions { | 47 | execute_command_provider: None, |
48 | commands: vec!["apply_code_action".to_string()], | ||
49 | }), | ||
50 | workspace: None, | 48 | workspace: None, |
51 | } | 49 | } |
52 | } | 50 | } |
diff --git a/crates/ra_lsp_server/src/req.rs b/crates/ra_lsp_server/src/req.rs index 11af41a1d..8d39b04a7 100644 --- a/crates/ra_lsp_server/src/req.rs +++ b/crates/ra_lsp_server/src/req.rs | |||
@@ -6,10 +6,10 @@ use url_serde; | |||
6 | pub use lsp_types::{ | 6 | pub use lsp_types::{ |
7 | notification::*, request::*, ApplyWorkspaceEditParams, CodeActionParams, CodeLens, | 7 | notification::*, request::*, ApplyWorkspaceEditParams, CodeActionParams, CodeLens, |
8 | CodeLensParams, CompletionParams, CompletionResponse, DidChangeConfigurationParams, | 8 | CodeLensParams, CompletionParams, CompletionResponse, DidChangeConfigurationParams, |
9 | DocumentOnTypeFormattingParams, DocumentSymbolParams, DocumentSymbolResponse, | 9 | DocumentOnTypeFormattingParams, DocumentSymbolParams, DocumentSymbolResponse, Hover, |
10 | ExecuteCommandParams, Hover, InitializeResult, MessageType, PublishDiagnosticsParams, | 10 | InitializeResult, MessageType, PublishDiagnosticsParams, ReferenceParams, ShowMessageParams, |
11 | ReferenceParams, ShowMessageParams, SignatureHelp, TextDocumentEdit, | 11 | SignatureHelp, TextDocumentEdit, TextDocumentPositionParams, TextEdit, WorkspaceEdit, |
12 | TextDocumentPositionParams, TextEdit, WorkspaceEdit, WorkspaceSymbolParams, | 12 | WorkspaceSymbolParams, |
13 | }; | 13 | }; |
14 | 14 | ||
15 | pub enum AnalyzerStatus {} | 15 | pub enum AnalyzerStatus {} |
diff --git a/docs/dev/lsp-features.md b/docs/dev/lsp-features.md index 28bae59bb..d3e79b8be 100644 --- a/docs/dev/lsp-features.md +++ b/docs/dev/lsp-features.md | |||
@@ -16,8 +16,6 @@ This list documents LSP features, supported by rust-analyzer. | |||
16 | - [ ] [workspace/configuration](https://microsoft.github.io/language-server-protocol/specification#workspace_configuration) | 16 | - [ ] [workspace/configuration](https://microsoft.github.io/language-server-protocol/specification#workspace_configuration) |
17 | - [x] [workspace/didChangeWatchedFiles](https://microsoft.github.io/language-server-protocol/specification#workspace_didChangeWatchedFiles) | 17 | - [x] [workspace/didChangeWatchedFiles](https://microsoft.github.io/language-server-protocol/specification#workspace_didChangeWatchedFiles) |
18 | - [x] [workspace/symbol](https://microsoft.github.io/language-server-protocol/specification#workspace_symbol) | 18 | - [x] [workspace/symbol](https://microsoft.github.io/language-server-protocol/specification#workspace_symbol) |
19 | - [x] [workspace/executeCommand](https://microsoft.github.io/language-server-protocol/specification#workspace_executeCommand) | ||
20 | - `apply_code_action` | ||
21 | - [ ] [workspace/applyEdit](https://microsoft.github.io/language-server-protocol/specification#workspace_applyEdit) | 19 | - [ ] [workspace/applyEdit](https://microsoft.github.io/language-server-protocol/specification#workspace_applyEdit) |
22 | 20 | ||
23 | ## Text Synchronization | 21 | ## Text Synchronization |