diff options
author | Jeremy A. Kolb <[email protected]> | 2018-09-23 16:10:57 +0100 |
---|---|---|
committer | Jeremy A. Kolb <[email protected]> | 2018-09-23 16:10:57 +0100 |
commit | e293a16d6b430befe6eb8be315ad60e7b2b10926 (patch) | |
tree | 60ed50d3f2a625ce6a9021715ac2a67ef30af6ca /crates/ra_lsp_server/src | |
parent | f5808b21a423235037a487d877e23deb3e602f37 (diff) |
Support LSP 3.13
Diffstat (limited to 'crates/ra_lsp_server/src')
-rw-r--r-- | crates/ra_lsp_server/src/caps.rs | 6 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/main_loop/handlers.rs | 6 |
2 files changed, 8 insertions, 4 deletions
diff --git a/crates/ra_lsp_server/src/caps.rs b/crates/ra_lsp_server/src/caps.rs index 7456aea8a..3c628f29c 100644 --- a/crates/ra_lsp_server/src/caps.rs +++ b/crates/ra_lsp_server/src/caps.rs | |||
@@ -1,5 +1,7 @@ | |||
1 | use languageserver_types::{ | 1 | use languageserver_types::{ |
2 | ServerCapabilities, | 2 | ServerCapabilities, |
3 | CodeActionProviderCapability, | ||
4 | FoldingRangeProviderCapability, | ||
3 | TextDocumentSyncCapability, | 5 | TextDocumentSyncCapability, |
4 | TextDocumentSyncOptions, | 6 | TextDocumentSyncOptions, |
5 | TextDocumentSyncKind, | 7 | TextDocumentSyncKind, |
@@ -32,7 +34,7 @@ pub fn server_capabilities() -> ServerCapabilities { | |||
32 | document_highlight_provider: None, | 34 | document_highlight_provider: None, |
33 | document_symbol_provider: Some(true), | 35 | document_symbol_provider: Some(true), |
34 | workspace_symbol_provider: Some(true), | 36 | workspace_symbol_provider: Some(true), |
35 | code_action_provider: Some(true), | 37 | code_action_provider: Some(CodeActionProviderCapability::Simple(true)), |
36 | code_lens_provider: None, | 38 | code_lens_provider: None, |
37 | document_formatting_provider: None, | 39 | document_formatting_provider: None, |
38 | document_range_formatting_provider: None, | 40 | document_range_formatting_provider: None, |
@@ -40,10 +42,12 @@ pub fn server_capabilities() -> ServerCapabilities { | |||
40 | first_trigger_character: "=".to_string(), | 42 | first_trigger_character: "=".to_string(), |
41 | more_trigger_character: None, | 43 | more_trigger_character: None, |
42 | }), | 44 | }), |
45 | folding_range_provider: Some(FoldingRangeProviderCapability::Simple(true)), | ||
43 | rename_provider: None, | 46 | rename_provider: None, |
44 | color_provider: None, | 47 | color_provider: None, |
45 | execute_command_provider: Some(ExecuteCommandOptions { | 48 | execute_command_provider: Some(ExecuteCommandOptions { |
46 | commands: vec!["apply_code_action".to_string()], | 49 | commands: vec!["apply_code_action".to_string()], |
47 | }), | 50 | }), |
51 | workspace: None, | ||
48 | } | 52 | } |
49 | } | 53 | } |
diff --git a/crates/ra_lsp_server/src/main_loop/handlers.rs b/crates/ra_lsp_server/src/main_loop/handlers.rs index b2ebc9cdc..2d9391859 100644 --- a/crates/ra_lsp_server/src/main_loop/handlers.rs +++ b/crates/ra_lsp_server/src/main_loop/handlers.rs | |||
@@ -2,7 +2,7 @@ use std::collections::HashMap; | |||
2 | 2 | ||
3 | use languageserver_types::{ | 3 | use languageserver_types::{ |
4 | Diagnostic, DiagnosticSeverity, DocumentSymbol, | 4 | Diagnostic, DiagnosticSeverity, DocumentSymbol, |
5 | Command, TextDocumentIdentifier, | 5 | CodeActionResponse, Command, TextDocumentIdentifier, |
6 | SymbolInformation, Position, Location, TextEdit, | 6 | SymbolInformation, Position, Location, TextEdit, |
7 | CompletionItem, InsertTextFormat, CompletionItemKind, | 7 | CompletionItem, InsertTextFormat, CompletionItemKind, |
8 | }; | 8 | }; |
@@ -369,7 +369,7 @@ pub fn handle_code_action( | |||
369 | world: ServerWorld, | 369 | world: ServerWorld, |
370 | params: req::CodeActionParams, | 370 | params: req::CodeActionParams, |
371 | _token: JobToken, | 371 | _token: JobToken, |
372 | ) -> Result<Option<Vec<Command>>> { | 372 | ) -> Result<Option<CodeActionResponse>> { |
373 | let file_id = params.text_document.try_conv_with(&world)?; | 373 | let file_id = params.text_document.try_conv_with(&world)?; |
374 | let line_index = world.analysis().file_line_index(file_id); | 374 | let line_index = world.analysis().file_line_index(file_id); |
375 | let range = params.range.conv_with(&line_index); | 375 | let range = params.range.conv_with(&line_index); |
@@ -392,7 +392,7 @@ pub fn handle_code_action( | |||
392 | res.push(cmd); | 392 | res.push(cmd); |
393 | } | 393 | } |
394 | 394 | ||
395 | Ok(Some(res)) | 395 | Ok(Some(CodeActionResponse::Commands(res))) |
396 | } | 396 | } |
397 | 397 | ||
398 | pub fn publish_diagnostics( | 398 | pub fn publish_diagnostics( |