private static void setFields(CompletionItem ci, ICompilationUnit cu) { ci.setKind(CompletionItemKind.Snippet); ci.setInsertTextFormat(InsertTextFormat.Snippet); ci.setDocumentation(ci.getInsertText()); Map<String, String> data = new HashMap<>(3); data.put(CompletionResolveHandler.DATA_FIELD_URI, JDTUtils.toURI(cu)); data.put(CompletionResolveHandler.DATA_FIELD_REQUEST_ID, "0"); data.put(CompletionResolveHandler.DATA_FIELD_PROPOSAL_ID, "0"); ci.setData(data); }
private static void setMeta(CompletionItem item, BInvokableSymbol bSymbol) { item.setInsertTextFormat(InsertTextFormat.Snippet); item.setDetail(ItemResolverConstants.FUNCTION_TYPE); item.setKind(CompletionItemKind.Function); if (bSymbol != null && bSymbol.markdownDocumentation != null) { item.setDocumentation(bSymbol.markdownDocumentation.description); } }
private static void resolveItem(TextDocument doc, ICompletionProposal completion, CompletionItem item) throws Exception { MarkupContent content = new MarkupContent(); content.setKind(MarkupKind.MARKDOWN); content.setValue(toMarkdown(completion.getDocumentation())); item.setDocumentation(content); }
private static void setMeta(CompletionItem item, BVarSymbol bSymbol) { if (bSymbol == null) { item.setKind(CompletionItemKind.Variable); return; } //Or, else if ((bSymbol.flags & Flags.FINAL) == Flags.FINAL) { if (bSymbol.type.tsymbol != null && TypeKind.STRING.typeName().equals(bSymbol.type.tsymbol.name.value)) { // string final item.setKind(CompletionItemKind.Text); } else { // non-string final item.setKind(CompletionItemKind.Unit); } } else { // variables item.setKind(CompletionItemKind.Variable); } if (bSymbol.markdownDocumentation != null) { item.setDocumentation(bSymbol.markdownDocumentation.description); } } }
documentation = documentation.replaceFirst(lineDelimiter, ""); ci.setDocumentation(documentation); Map<String, String> data = new HashMap<>(3); data.put(CompletionResolveHandler.DATA_FIELD_URI, JDTUtils.toURI(cu));
markupContent.setKind(MarkupKind.MARKDOWN); markupContent.setValue(javadoc); param.setDocumentation(markupContent); } else { param.setDocumentation(javadoc);
private static CompletionItem createExpandedAbbr(String abbr, Range abbreviationRange, String abbreviation, String syntax, String filter, ExpandOptions expandOptions) { String expandedText = null; try { expandedText = expand(abbr, expandOptions); } catch (Exception e) { } if (expandedText != null && isExpandedTextNoise(syntax, abbr, expandedText)) { expandedText = ""; } if (expandedText != null) { CompletionItem expandedAbbr = new CompletionItem(abbr); expandedAbbr.setTextEdit( new TextEdit(abbreviationRange, escapeNonTabStopDollar(addFinalTabStop(expandedText)))); expandedAbbr.setDocumentation(replaceTabStopsWithCursors(expandedText)); expandedAbbr.setInsertTextFormat(InsertTextFormat.Snippet); expandedAbbr.setDetail("Emmet Abbreviation"); expandedAbbr.setLabel(abbreviation + (filter != null ? "|" + filter.replaceAll(",", "|") : "")); return expandedAbbr; } return null; }
completionItem.setDocumentation(entry.getDocumentation()); String _elvis_1 = null; String _prefix = entry.getPrefix();
private static void setMeta(CompletionItem item, BTypeSymbol bSymbol) { if (bSymbol == null) { item.setKind(CompletionItemKind.Class); return; } //Or, else if (bSymbol instanceof BPackageSymbol) { // package item.setKind(CompletionItemKind.Module); } else if (bSymbol.kind != null) { // class / objects item.setKind(CompletionItemKind.Class); } else if (bSymbol.type instanceof BFiniteType || bSymbol.type instanceof BUnionType) { // enums item.setKind(CompletionItemKind.Enum); } else if (bSymbol.pkgID.orgName.equals(Names.BUILTIN_ORG) && bSymbol.pkgID.name.equals(Names.BUILTIN_PACKAGE)) { // keyword item.setKind(CompletionItemKind.Keyword); } else { // default item.setKind(CompletionItemKind.Unit); } if (bSymbol.markdownDocumentation != null) { item.setDocumentation(bSymbol.markdownDocumentation.description); } } }
/** * Get the Ballerina Constant Completion Item. * * @param symbolInfo symbol information * @param context Language Server Operation Context * @return {@link CompletionItem} completion item */ private CompletionItem getBallerinaConstantCompletionItem(SymbolInfo symbolInfo, LSContext context) { BSymbol bSymbol = symbolInfo.getScopeEntry().symbol; if (!(bSymbol instanceof BConstantSymbol)) { return null; } CompletionItem completionItem = new CompletionItem(); completionItem.setLabel(bSymbol.getName().getValue()); completionItem.setInsertText(bSymbol.getName().getValue()); completionItem.setDetail(CommonUtil.getBTypeName(((BConstantSymbol) bSymbol).literalValueType, context)); completionItem.setDocumentation(ItemResolverConstants.CONSTANT_TYPE); completionItem.setKind(CompletionItemKind.Variable); return completionItem; } }
@Test public void testRequest() throws Exception { CompletionParams p = new CompletionParams(); p.setPosition(new Position(1,1)); p.setTextDocument(new TextDocumentIdentifier("test/foo.txt")); CompletionList result = new CompletionList(); result.setIsIncomplete(true); result.setItems(new ArrayList<>()); CompletionItem item = new CompletionItem(); item.setDetail("test"); item.setDocumentation("doc"); item.setFilterText("filter"); item.setInsertText("insert"); item.setKind(CompletionItemKind.Field); result.getItems().add(item); server.expectedRequests.put("textDocument/completion", new Pair<>(p, result)); CompletableFuture<Either<List<CompletionItem>, CompletionList>> future = clientLauncher.getRemoteProxy().getTextDocumentService().completion(p); Assert.assertEquals(Either.forRight(result).toString(), future.get(TIMEOUT, TimeUnit.MILLISECONDS).toString()); client.joinOnEmpty(); }