Add 'hoverinfo' to completions in manfest.yml editor

This commit is contained in:
Kris De Volder
2016-12-02 15:50:49 -08:00
parent 86b6e6d270
commit e508326b69
19 changed files with 161 additions and 29 deletions

View File

@@ -1,6 +1,7 @@
package org.springframework.ide.vscode.commons.languageserver.completion;
import org.eclipse.lsp4j.CompletionItemKind;
import org.springframework.ide.vscode.commons.util.Renderable;
/**
* Replaces STS/Eclipse's ICompletionProposal
@@ -16,4 +17,7 @@ public interface ICompletionProposal {
CompletionItemKind getKind();
DocumentEdits getTextEdit();
String getDetail();
Renderable getDocumentation();
}

View File

@@ -18,6 +18,7 @@ import org.springframework.ide.vscode.commons.languageserver.util.SimpleTextDocu
import org.springframework.ide.vscode.commons.languageserver.util.SortKeys;
import org.springframework.ide.vscode.commons.languageserver.util.TextDocument;
import org.springframework.ide.vscode.commons.util.Futures;
import org.springframework.ide.vscode.commons.util.Renderable;
import org.springframework.ide.vscode.commons.util.StringUtil;
import reactor.core.publisher.Mono;
@@ -94,10 +95,19 @@ public class VscodeCompletionEngineAdapter implements VscodeCompletionEngine {
item.setKind(completion.getKind());
item.setSortText(sortkeys.next());
item.setFilterText(completion.getLabel());
item.setDetail(completion.getDetail());
item.setDocumentation(toMarkdown(completion.getDocumentation()));
adaptEdits(item, doc, completion.getTextEdit());
return item;
}
private String toMarkdown(Renderable r) {
if (r!=null) {
return r.toMarkdown();
}
return null;
}
private void adaptEdits(CompletionItem item, TextDocument doc, DocumentEdits edits) throws Exception {
TextReplace replaceEdit = edits.asReplacement(doc);
if (replaceEdit==null) {