diff options
-rw-r--r-- | crates/ra_analysis/src/lib.rs | 2 | ||||
-rw-r--r-- | crates/ra_lsp_server/src/conv.rs | 15 |
2 files changed, 15 insertions, 2 deletions
diff --git a/crates/ra_analysis/src/lib.rs b/crates/ra_analysis/src/lib.rs index b2f4cd228..6fd157880 100644 --- a/crates/ra_analysis/src/lib.rs +++ b/crates/ra_analysis/src/lib.rs | |||
@@ -30,7 +30,7 @@ use crate::{ | |||
30 | }; | 30 | }; |
31 | 31 | ||
32 | pub use crate::{ | 32 | pub use crate::{ |
33 | completion::{CompletionItem, InsertText}, | 33 | completion::{CompletionItem, CompletionItemKind, InsertText}, |
34 | }; | 34 | }; |
35 | pub use ra_editor::{ | 35 | pub use ra_editor::{ |
36 | FileSymbol, Fold, FoldKind, HighlightedRange, LineIndex, Runnable, RunnableKind, StructureNode, | 36 | FileSymbol, Fold, FoldKind, HighlightedRange, LineIndex, Runnable, RunnableKind, StructureNode, |
diff --git a/crates/ra_lsp_server/src/conv.rs b/crates/ra_lsp_server/src/conv.rs index 973e0915e..6f770ec69 100644 --- a/crates/ra_lsp_server/src/conv.rs +++ b/crates/ra_lsp_server/src/conv.rs | |||
@@ -2,7 +2,7 @@ use languageserver_types::{ | |||
2 | self, Location, Position, Range, SymbolKind, TextDocumentEdit, TextDocumentIdentifier, | 2 | self, Location, Position, Range, SymbolKind, TextDocumentEdit, TextDocumentIdentifier, |
3 | TextDocumentItem, TextDocumentPositionParams, Url, VersionedTextDocumentIdentifier, InsertTextFormat, | 3 | TextDocumentItem, TextDocumentPositionParams, Url, VersionedTextDocumentIdentifier, InsertTextFormat, |
4 | }; | 4 | }; |
5 | use ra_analysis::{FileId, FileSystemEdit, SourceChange, SourceFileEdit, FilePosition, CompletionItem, InsertText}; | 5 | use ra_analysis::{FileId, FileSystemEdit, SourceChange, SourceFileEdit, FilePosition, CompletionItem, CompletionItemKind, InsertText}; |
6 | use ra_editor::{LineCol, LineIndex}; | 6 | use ra_editor::{LineCol, LineIndex}; |
7 | use ra_text_edit::{AtomTextEdit, TextEdit}; | 7 | use ra_text_edit::{AtomTextEdit, TextEdit}; |
8 | use ra_syntax::{SyntaxKind, TextRange, TextUnit}; | 8 | use ra_syntax::{SyntaxKind, TextRange, TextUnit}; |
@@ -45,6 +45,18 @@ impl Conv for SyntaxKind { | |||
45 | } | 45 | } |
46 | } | 46 | } |
47 | 47 | ||
48 | impl Conv for CompletionItemKind { | ||
49 | type Output = ::languageserver_types::CompletionItemKind; | ||
50 | |||
51 | fn conv(self) -> <Self as Conv>::Output { | ||
52 | use ::languageserver_types::CompletionItemKind::*; | ||
53 | match self { | ||
54 | CompletionItemKind::Keyword => Keyword, | ||
55 | CompletionItemKind::Snippet => Snippet, | ||
56 | } | ||
57 | } | ||
58 | } | ||
59 | |||
48 | impl Conv for CompletionItem { | 60 | impl Conv for CompletionItem { |
49 | type Output = ::languageserver_types::CompletionItem; | 61 | type Output = ::languageserver_types::CompletionItem; |
50 | 62 | ||
@@ -52,6 +64,7 @@ impl Conv for CompletionItem { | |||
52 | let mut res = ::languageserver_types::CompletionItem { | 64 | let mut res = ::languageserver_types::CompletionItem { |
53 | label: self.label().to_string(), | 65 | label: self.label().to_string(), |
54 | filter_text: Some(self.lookup().to_string()), | 66 | filter_text: Some(self.lookup().to_string()), |
67 | kind: self.kind().map(|it| it.conv()), | ||
55 | ..Default::default() | 68 | ..Default::default() |
56 | }; | 69 | }; |
57 | match self.insert_text() { | 70 | match self.insert_text() { |