From 5d110c0ee2ec50009eb7c552888a73ce8380d34a Mon Sep 17 00:00:00 2001 From: Jeremy Kolb Date: Mon, 21 Jan 2019 21:41:39 -0500 Subject: Teach CompletionItem about documentation --- crates/ra_lsp_server/src/conv.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'crates/ra_lsp_server/src') diff --git a/crates/ra_lsp_server/src/conv.rs b/crates/ra_lsp_server/src/conv.rs index 23b226fac..6818acaf6 100644 --- a/crates/ra_lsp_server/src/conv.rs +++ b/crates/ra_lsp_server/src/conv.rs @@ -1,6 +1,6 @@ use lsp_types::{ - self, CreateFile, DocumentChangeOperation, DocumentChanges, Location, LocationLink, - Position, Range, RenameFile, ResourceOp, SymbolKind, TextDocumentEdit, TextDocumentIdentifier, + self, CreateFile, Documentation, DocumentChangeOperation, DocumentChanges, Location, LocationLink, + MarkupContent, MarkupKind, Position, Range, RenameFile, ResourceOp, SymbolKind, TextDocumentEdit, TextDocumentIdentifier, TextDocumentItem, TextDocumentPositionParams, Url, VersionedTextDocumentIdentifier, WorkspaceEdit, }; @@ -87,6 +87,13 @@ impl ConvWith for CompletionItem { None }; + let documentation = self.documentation().map(|value| { + Documentation::MarkupContent(MarkupContent { + kind: MarkupKind::Markdown, + value: value.to_string(), + }) + }); + let mut res = lsp_types::CompletionItem { label: self.label().to_string(), detail: self.detail().map(|it| it.to_string()), @@ -94,6 +101,7 @@ impl ConvWith for CompletionItem { kind: self.kind().map(|it| it.conv()), text_edit: Some(text_edit), additional_text_edits, + documentation: documentation, ..Default::default() }; res.insert_text_format = Some(match self.insert_text_format() { -- cgit v1.2.3