Java 类org.eclipse.lsp4j.CompletionItemKind 实例源码

项目:vscode-javac    文件:Completions.java   
/**
 * Complete constructor with minimal type information.
 *
 * <p>This is important when we're autocompleting new ? with a class that we haven't yet
 * imported. We don't yet have detailed type information or javadocs, and it's expensive to
 * retrieve them. So we autocomplete a minimal constructor, and let signature-help fill in the
 * details.
 */
private CompletionItem completeConstructor(
        String packageName, String className, boolean hasTypeParameters) {
    CompletionItem item = new CompletionItem();
    String qualifiedName = packageName.isEmpty() ? className : packageName + "." + className;
    String key = String.format("%s#<init>", className);
    String insertText = className;

    if (hasTypeParameters) insertText += "<>";

    insertText += "($0)";

    item.setKind(CompletionItemKind.Constructor);
    item.setLabel(className);
    item.setDetail(packageName);
    item.setInsertText(insertText);
    item.setInsertTextFormat(InsertTextFormat.Snippet);
    item.setCommand(TRIGGER_SIGNATURE_HELP);
    item.setFilterText(className);
    item.setAdditionalTextEdits(addImport(qualifiedName));
    item.setSortText("3/" + className);
    item.setData(key);

    return item;
}
项目:SOMns-vscode    文件:SomStructures.java   
public synchronized void getCompletions(final SSymbol name,
    final Set<CompletionItem> results) {
  for (Variable v : variables) {
    matchAndAdd(name, v.name, results, CompletionItemKind.Variable);
  }

  for (SInvokable m : methods) {
    matchAndAdd(name, m.getSignature(), results, CompletionItemKind.Method);
  }

  for (SlotDefinition s : slots) {
    matchAndAdd(name, s.getName(), results, CompletionItemKind.Field);
  }

  for (MixinDefinition c : classes) {
    matchAndAdd(name, c.getName(), results, CompletionItemKind.Class);
    matchAndAdd(name, c.getPrimaryFactorySelector(), results,
        CompletionItemKind.Constructor);
  }
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_import_package() throws JavaModelException{
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "import java.sq \n" +
                    "public class Foo {\n"+
                    "   void foo() {\n"+
                    "   }\n"+
            "}\n");

    int[] loc = findCompletionLocation(unit, "java.sq");

    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();

    assertNotNull(list);
    assertEquals(1, list.getItems().size());
    CompletionItem item = list.getItems().get(0);
    // Check completion item
    assertNull(item.getInsertText());
    assertEquals("java.sql",item.getLabel());
    assertEquals(CompletionItemKind.Module, item.getKind() );
    assertEquals("999999215", item.getSortText());
    assertNull(item.getTextEdit());


    CompletionItem resolvedItem = server.resolveCompletionItem(item).join();
    assertNotNull(resolvedItem);
    TextEdit te = item.getTextEdit();
    assertNotNull(te);
    assertEquals("java.sql.*;",te.getNewText());
    assertNotNull(te.getRange());
    Range range = te.getRange();
    assertEquals(0, range.getStart().getLine());
    assertEquals(7, range.getStart().getCharacter());
    assertEquals(0, range.getEnd().getLine());
    //Not checking the range end character
}
项目:lsp4j    文件:LauncherTest.java   
@Test public void testRequest() throws Exception {

    TextDocumentPositionParams p = new TextDocumentPositionParams();
    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();
}
项目:che    文件:CompletionImageProvider.java   
@Inject
public CompletionImageProvider(LanguageServerResources resources) {
  this.resources = resources;
  // TODO add missed icons
  // no icon for keyword kind
  imageMap.put(CompletionItemKind.Text, resources.textItem());
  imageMap.put(CompletionItemKind.Method, resources.methodItem());
  //        imageMap.put(CompletionItemKind.KIND_FUNCTION, );
  //        imageMap.put(CompletionItemKind.KIND_CONSTRUCTOR, );
  imageMap.put(CompletionItemKind.Field, resources.fieldItem());
  imageMap.put(CompletionItemKind.Variable, resources.variableItem());
  imageMap.put(CompletionItemKind.Class, resources.classItem());
  imageMap.put(CompletionItemKind.Interface, resources.interfaceItem());
  imageMap.put(CompletionItemKind.Module, resources.moduleItem());
  imageMap.put(CompletionItemKind.Property, resources.propertyItem());
  //        imageMap.put(CompletionItemKind.KIND_UNIT, );
  imageMap.put(CompletionItemKind.Value, resources.valueItem());
  imageMap.put(CompletionItemKind.Enum, resources.enumItem());
  imageMap.put(CompletionItemKind.Snippet, resources.snippetItem());
  //        imageMap.put(CompletionItemKind.KIND_COLOR, );
  imageMap.put(CompletionItemKind.File, resources.fileItem());
  //        imageMap.put(CompletionItemKind.KIND_REFERENCE, );
}
项目:che    文件:CompletionImageProvider.java   
public Icon getIcon(CompletionItemKind completionKind) {
  return new Icon("", imageMap.get(completionKind));
}
项目:vscode-javac    文件:Completions.java   
private CompletionItemKind classKind(ElementKind kind) {
    switch (kind) {
        case CLASS:
            return CompletionItemKind.Class;
        case ANNOTATION_TYPE:
        case INTERFACE:
            return CompletionItemKind.Interface;
        case ENUM:
            return CompletionItemKind.Enum;
        default:
            throw new RuntimeException("Expected CLASS, INTERFACE or ENUM but found " + kind);
    }
}
项目:SOMns-vscode    文件:SomStructures.java   
private void matchAndAdd(final SSymbol query, final SSymbol symbol,
    final Set<CompletionItem> results, final CompletionItemKind kind) {
  if (fuzzyMatches(symbol, query)) {
    CompletionItem item = new CompletionItem();
    item.setKind(kind);
    item.setLabel(symbol.getString());
    results.add(item);
  }
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_method_withLSPV2() throws JavaModelException{
    mockLSP2Client();

    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "   void foo() {\n"+
                    "System.out.print(\"Hello\");\n" +
                    "System.out.println(\" World!\");\n"+
                    "HashMap<String, String> map = new HashMap<>();\n"+
                    "map.pu\n" +
                    "   }\n"+
            "}\n");

    int[] loc = findCompletionLocation(unit, "map.pu");

    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter( item->  item.getLabel().matches("put\\(String \\w+, String \\w+\\) : String"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("put", ci.getInsertText());
    assertEquals(CompletionItemKind.Function, ci.getKind());
    assertEquals("999999019", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(5, 4, 6, "put", resolvedItem.getTextEdit());
    assertNotNull(resolvedItem.getAdditionalTextEdits());
    List<TextEdit> edits = resolvedItem.getAdditionalTextEdits();
    assertEquals(3, edits.size());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_method_withLSPV3() throws JavaModelException{
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "   void foo() {\n"+
                    "System.out.print(\"Hello\");\n" +
                    "System.out.println(\" World!\");\n"+
                    "HashMap<String, String> map = new HashMap<>();\n"+
                    "map.pu\n" +
                    "   }\n"+
            "}\n");

    int[] loc = findCompletionLocation(unit, "map.pu");

    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter( item->  item.getLabel().matches("put\\(String \\w+, String \\w+\\) : String"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("put", ci.getInsertText());
    assertEquals(CompletionItemKind.Function, ci.getKind());
    assertEquals("999999019", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    try {
        assertTextEdit(5, 4, 6, "put(${1:key}, ${2:value})", resolvedItem.getTextEdit());
    } catch (ComparisonFailure e) {
        //In case the JDK has no sources
        assertTextEdit(5, 4, 6, "put(${1:arg0}, ${2:arg1})", resolvedItem.getTextEdit());
    }
    assertNotNull(resolvedItem.getAdditionalTextEdits());
    List<TextEdit> edits = resolvedItem.getAdditionalTextEdits();
    assertEquals(3, edits.size());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_field() throws JavaModelException{
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "import java.sq \n" +
                    "public class Foo {\n"+
                    "private String myTestString;\n"+
                    "   void foo() {\n"+
                    "   this.myTestS\n"+
                    "   }\n"+
            "}\n");

    int[] loc = findCompletionLocation(unit, "this.myTestS");

    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();

    assertNotNull(list);
    assertEquals(1, list.getItems().size());
    CompletionItem item = list.getItems().get(0);
    assertEquals(CompletionItemKind.Field, item.getKind());
    assertEquals("myTestString", item.getInsertText());
    assertNull(item.getAdditionalTextEdits());
    assertNull(item.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(item).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(4,8,15,"myTestString",resolvedItem.getTextEdit());
    //Not checking the range end character
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_import_type() throws JavaModelException{
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "import java.sq \n" +
                    "public class Foo {\n"+
                    "   void foo() {\n"+
                    "   java.util.Ma\n"+
                    "   }\n"+
            "}\n");

    int[] loc = findCompletionLocation(unit, "java.util.Ma");

    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();

    assertNotNull(list);
    assertEquals(1, list.getItems().size());
    CompletionItem item = list.getItems().get(0);
    assertEquals(CompletionItemKind.Class, item.getKind());
    assertEquals("Map", item.getInsertText());
    assertNull(item.getAdditionalTextEdits());
    assertNull(item.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(item).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(3,3,15,"java.util.Map",resolvedItem.getTextEdit());
    //Not checking the range end character
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_getter() throws Exception {

    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "    private String strField;\n" +
                    "    get" +
            "}\n");

    int[] loc = findCompletionLocation(unit, "get");


    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("getStrField() : String"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("getStrField", ci.getInsertText());
    assertEquals(CompletionItemKind.Function, ci.getKind());
    assertEquals("999999979", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 4, 7, "/**\n" +
             " * @return the strField\n" +
             " */\n" +
            "public String getStrField() {\n" +
            "   return strField;\n" +
            "}", resolvedItem.getTextEdit());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_booleangetter() throws Exception {

    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "    private boolean boolField;\n" +
                    "    is\n" +
            "}\n");

    int[] loc = findCompletionLocation(unit, "is");


    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("isBoolField() : boolean"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("isBoolField", ci.getInsertText());
    assertEquals(CompletionItemKind.Function, ci.getKind());
    assertEquals("999999979", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 4, 6, "/**\n" +
             " * @return the boolField\n" +
             " */\n" +
            "public boolean isBoolField() {\n" +
            "   return boolField;\n" +
            "}", resolvedItem.getTextEdit());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_setter() throws Exception {
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "    private String strField;\n" +
                    "    set" +
            "}\n");

    int[] loc = findCompletionLocation(unit, "set");


    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("setStrField(String strField) : void"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("setStrField", ci.getInsertText());
    assertEquals(CompletionItemKind.Function, ci.getKind());
    assertEquals("999999979", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 4, 7, "/**\n" +
            " * @param strField the strField to set\n" +
             " */\n" +
            "public void setStrField(String strField) {\n" +
            "   this.strField = strField;\n" +
            "}", resolvedItem.getTextEdit());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_AnonymousType() throws Exception {
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "    public static void main(String[] args) {\n" +
                    "        IFoo foo = new \n" +
                    "    } \n" +
                    "    interface IFoo {\n"+
                    "        String getName();\n"+
                    "    }\n"+
            "}\n");
    waitForBackgroundJobs();
    int[] loc = findCompletionLocation(unit, "new ");
    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("Foo.IFoo()  Anonymous Inner Type"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("Foo.IFoo", ci.getInsertText());
    assertEquals(CompletionItemKind.Constructor, ci.getKind());
    assertEquals("999998684", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 23, 23, "IFoo(){\n" +
            "\n" +
            "       @Override\n" +
            "       public String getName() {\n" +
            "           ${0:return null;}\n" +
            "       }\n" +
            "};", resolvedItem.getTextEdit());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_AnonymousTypeMoreMethods() throws Exception {
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "    public static void main(String[] args) {\n" +
                    "        IFoo foo = new \n" +
                    "    } \n" +
                    "    interface IFoo {\n"+
                    "        String getName();\n"+
                    "        void setName(String name);\n"+
                    "    }\n"+
            "}\n");
    waitForBackgroundJobs();
    int[] loc = findCompletionLocation(unit, "new ");
    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("Foo.IFoo()  Anonymous Inner Type"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("Foo.IFoo", ci.getInsertText());
    assertEquals(CompletionItemKind.Constructor, ci.getKind());
    assertEquals("999998684", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 23, 23, "IFoo(){\n" +
            "\n     @Override\n" +
            "       public void setName(String name) {\n" +
            "           ${0}\n" +
            "       }\n" +
            "\n     @Override\n" +
            "       public String getName() {\n" +
            "           return null;\n" +
            "       }\n" +
            "};", resolvedItem.getTextEdit());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_AnonymousDeclarationType() throws Exception {
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "    public static void main(String[] args) {\n" +
                    "        new Runnable()\n" +
                    "    }\n" +
            "}\n");
    waitForBackgroundJobs();
    int[] loc = findCompletionLocation(unit, "Runnable(");
    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("Runnable()  Anonymous Inner Type"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("Runnable", ci.getInsertText());
    assertEquals(CompletionItemKind.Class, ci.getKind());
    assertEquals("999999372", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 20, 22, "(){\n" +
            "\n" +
            "   @Override\n" +
            "   public void run() {\n" +
            "       ${0}\n" +
            "   }\n" +
            "}", resolvedItem.getTextEdit());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_AnonymousDeclarationType2() throws Exception {
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "    public static void main(String[] args) {\n" +
                    "        new Runnable(  )\n" +
                    "    }\n" +
            "}\n");
    waitForBackgroundJobs();
    int[] loc = findCompletionLocation(unit, "Runnable( ");
    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("Runnable()  Anonymous Inner Type"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("Runnable", ci.getInsertText());
    assertEquals(CompletionItemKind.Class, ci.getKind());
    assertEquals("999999372", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 20, 24, "(){\n" +
            "\n" +
            "   @Override\n" +
            "   public void run() {\n" +
            "       ${0}\n" +
            "   }\n" +
            "}", resolvedItem.getTextEdit());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_AnonymousDeclarationType3() throws Exception {
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "    public static void main(String[] args) {\n" +
                    "        run(\"name\", new Runnable(, 1);\n" +
                    "    }\n" +
                    "    void run(String name, Runnable runnable, int i) {\n" +
                    "    }\n" +
            "}\n");
    waitForBackgroundJobs();
    int[] loc = findCompletionLocation(unit, "Runnable(");
    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("Runnable()  Anonymous Inner Type"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("Runnable", ci.getInsertText());
    assertEquals(CompletionItemKind.Class, ci.getKind());
    assertEquals("999999372", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 32, 33, "(){\n" +
            "\n" +
            "   @Override\n" +
            "   public void run() {\n" +
            "       ${0}\n" +
            "   }\n" +
            "}", resolvedItem.getTextEdit());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_AnonymousDeclarationType4() throws Exception {
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "    public static void main(String[] args) {\n" +
                    "        run(\"name\", new Runnable(\n" +
                    "        , 1);\n" +
                    "    }\n" +
                    "    void run(String name, Runnable runnable, int i) {\n" +
                    "    }\n" +
            "}\n");
    waitForBackgroundJobs();
    int[] loc = findCompletionLocation(unit, "Runnable(");
    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("Runnable()  Anonymous Inner Type"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("Runnable", ci.getInsertText());
    assertEquals(CompletionItemKind.Class, ci.getKind());
    assertEquals("999999372", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 32, 33, "(){\n" +
            "\n" +
            "   @Override\n" +
            "   public void run() {\n" +
            "       ${0}\n" +
            "   }\n" +
            "}", resolvedItem.getTextEdit());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_AnonymousDeclarationType5() throws Exception {
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "public class Foo {\n"+
                    "    public static void main(String[] args) {\n" +
                    "        run(\"name\", new Runnable(");
    waitForBackgroundJobs();
    int[] loc = findCompletionLocation(unit, "Runnable(");
    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("Runnable()  Anonymous Inner Type"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("Runnable", ci.getInsertText());
    assertEquals(CompletionItemKind.Class, ci.getKind());
    assertEquals("999999372", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 33, 33, "(){\n" +
            "\n" +
            "   @Override\n" +
            "   public void run() {\n" +
            "       ${0}\n" +
            "   }\n" +
            "}", resolvedItem.getTextEdit());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_class_name_contains_$() throws Exception {
    ICompilationUnit unit = getWorkingCopy(
            "src/org/sample/Foo$Bar.java",
            "public class Foo$Bar {\n"+
                    "    public static void main(String[] args) {\n" +
                    "        new Foo\n" +
                    "    }\n" +
            "}\n");
    waitForBackgroundJobs();
    int[] loc = findCompletionLocation(unit, "new Foo");
    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("Foo$Bar"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("Foo$Bar", ci.getInsertText());
    assertEquals(CompletionItemKind.Constructor, ci.getKind());
    assertEquals("999999115", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 12, 15, "Foo\\$Bar()", resolvedItem.getTextEdit());
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_class_name_contains_$withoutSnippetSupport() throws Exception {
    mockLSPClient(false, true);
    ICompilationUnit unit = getWorkingCopy(
            "src/org/sample/Foo$Bar.java",
            "public class Foo$Bar {\n"+
                    "    public static void main(String[] args) {\n" +
                    "        new Foo\n" +
                    "    }\n" +
            "}\n");
    waitForBackgroundJobs();
    int[] loc = findCompletionLocation(unit, "new Foo");
    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();
    assertNotNull(list);
    CompletionItem ci = list.getItems().stream()
            .filter(item -> item.getLabel().startsWith("Foo$Bar"))
            .findFirst().orElse(null);
    assertNotNull(ci);

    assertEquals("Foo$Bar", ci.getInsertText());
    assertEquals(CompletionItemKind.Constructor, ci.getKind());
    assertEquals("999999115", ci.getSortText());
    assertNull(ci.getTextEdit());

    CompletionItem resolvedItem = server.resolveCompletionItem(ci).join();
    assertNotNull(resolvedItem.getTextEdit());
    assertTextEdit(2, 12, 15, "Foo$Bar", resolvedItem.getTextEdit());
}
项目:SOMns-vscode    文件:CompletionItem.java   
/**
 * The kind of this completion item. Based of the kind an icon is chosen by the editor.
 */
@Pure
public CompletionItemKind getKind() {
  return this.kind;
}
项目:SOMns-vscode    文件:CompletionItem.java   
/**
 * The kind of this completion item. Based of the kind an icon is chosen by the editor.
 */
public void setKind(final CompletionItemKind kind) {
  this.kind = kind;
}
项目:eclipse.jdt.ls    文件:CompletionProposalRequestor.java   
private CompletionItemKind mapKind(final int kind) {
    switch (kind) {
    case CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION:
    case CompletionProposal.CONSTRUCTOR_INVOCATION:
        return CompletionItemKind.Constructor;
    case CompletionProposal.ANONYMOUS_CLASS_DECLARATION:
    case CompletionProposal.TYPE_REF:
        return CompletionItemKind.Class;
    case CompletionProposal.FIELD_IMPORT:
    case CompletionProposal.METHOD_IMPORT:
    case CompletionProposal.METHOD_NAME_REFERENCE:
    case CompletionProposal.PACKAGE_REF:
    case CompletionProposal.TYPE_IMPORT:
        return CompletionItemKind.Module;
    case CompletionProposal.FIELD_REF:
    case CompletionProposal.FIELD_REF_WITH_CASTED_RECEIVER:
        return CompletionItemKind.Field;
    case CompletionProposal.KEYWORD:
        return CompletionItemKind.Keyword;
    case CompletionProposal.LABEL_REF:
        return CompletionItemKind.Reference;
    case CompletionProposal.LOCAL_VARIABLE_REF:
    case CompletionProposal.VARIABLE_DECLARATION:
        return CompletionItemKind.Variable;
    case CompletionProposal.METHOD_DECLARATION:
    case CompletionProposal.METHOD_REF:
    case CompletionProposal.METHOD_REF_WITH_CASTED_RECEIVER:
    case CompletionProposal.POTENTIAL_METHOD_DECLARATION:
        return CompletionItemKind.Function;
        //text
    case CompletionProposal.ANNOTATION_ATTRIBUTE_REF:
    case CompletionProposal.JAVADOC_BLOCK_TAG:
    case CompletionProposal.JAVADOC_FIELD_REF:
    case CompletionProposal.JAVADOC_INLINE_TAG:
    case CompletionProposal.JAVADOC_METHOD_REF:
    case CompletionProposal.JAVADOC_PARAM_REF:
    case CompletionProposal.JAVADOC_TYPE_REF:
    case CompletionProposal.JAVADOC_VALUE_REF:
    default:
        return CompletionItemKind.Text;
    }
}
项目:eclipse.jdt.ls    文件:CompletionHandlerTest.java   
@Test
public void testCompletion_import_static() throws JavaModelException{
    ICompilationUnit unit = getWorkingCopy(
            "src/java/Foo.java",
            "import static java.util.concurrent.TimeUnit. \n" +
                    "public class Foo {\n"+
                    "   void foo() {\n"+
                    "   }\n"+
            "}\n");

    int[] loc = findCompletionLocation(unit, "java.util.concurrent.TimeUnit.");

    CompletionList list = server.completion(JsonMessageHelper.getParams(createCompletionRequest(unit, loc[0], loc[1]))).join().getRight();

    assertNotNull(list);
    assertEquals(9, list.getItems().size());

    //// .SECONDS - enum value
    CompletionItem secondsFieldItem = list.getItems().get(0);
    // Check completion item
    assertEquals("SECONDS", secondsFieldItem.getInsertText());
    assertEquals("SECONDS : TimeUnit", secondsFieldItem.getLabel());
    assertEquals(CompletionItemKind.Field, secondsFieldItem.getKind());
    assertEquals("999999210", secondsFieldItem.getSortText());
    assertNull(secondsFieldItem.getTextEdit());

    assertNotNull(server.resolveCompletionItem(secondsFieldItem).join());
    TextEdit teSeconds = secondsFieldItem.getTextEdit();
    assertNotNull(teSeconds);
    assertEquals("SECONDS;", teSeconds.getNewText());
    assertNotNull(teSeconds.getRange());
    Range secondsRange = teSeconds.getRange();
    assertEquals(0, secondsRange.getStart().getLine());
    assertEquals(44, secondsRange.getStart().getCharacter());
    assertEquals(0, secondsRange.getEnd().getLine());

    //// .values() - static method
    CompletionItem valuesMethodItem = list.getItems().get(7);
    // Check completion item
    assertEquals("values", valuesMethodItem.getInsertText());
    assertEquals("values() : TimeUnit[]", valuesMethodItem.getLabel());
    assertEquals(CompletionItemKind.Module, valuesMethodItem.getKind());
    assertEquals("999999211", valuesMethodItem.getSortText());
    assertNull(valuesMethodItem.getTextEdit());


    assertNotNull(server.resolveCompletionItem(valuesMethodItem).join());
    TextEdit teValues = valuesMethodItem.getTextEdit();
    assertNotNull(teValues);
    assertEquals("values;", teValues.getNewText());
    assertNotNull(teValues.getRange());
    Range valuesRange = teValues.getRange();
    assertEquals(0, valuesRange.getStart().getLine());
    assertEquals(44, valuesRange.getStart().getCharacter());
    assertEquals(0, valuesRange.getEnd().getLine());

}
项目:xtext-core    文件:ContentAssistService.java   
protected CompletionItemKind translateKind(final ContentAssistEntry entry) {
  CompletionItemKind _switchResult = null;
  String _kind = entry.getKind();
  if (_kind != null) {
    switch (_kind) {
      case ContentAssistEntry.KIND_CLASS:
        _switchResult = CompletionItemKind.Class;
        break;
      case ContentAssistEntry.KIND_COLOR:
        _switchResult = CompletionItemKind.Color;
        break;
      case ContentAssistEntry.KIND_CONSTRUCTOR:
        _switchResult = CompletionItemKind.Constructor;
        break;
      case ContentAssistEntry.KIND_ENUM:
        _switchResult = CompletionItemKind.Enum;
        break;
      case ContentAssistEntry.KIND_FIELD:
        _switchResult = CompletionItemKind.Field;
        break;
      case ContentAssistEntry.KIND_FILE:
        _switchResult = CompletionItemKind.File;
        break;
      case ContentAssistEntry.KIND_FUNCTION:
        _switchResult = CompletionItemKind.Function;
        break;
      case ContentAssistEntry.KIND_INTERFACE:
        _switchResult = CompletionItemKind.Interface;
        break;
      case ContentAssistEntry.KIND_KEYWORD:
        _switchResult = CompletionItemKind.Keyword;
        break;
      case ContentAssistEntry.KIND_METHOD:
        _switchResult = CompletionItemKind.Method;
        break;
      case ContentAssistEntry.KIND_MODULE:
        _switchResult = CompletionItemKind.Module;
        break;
      case ContentAssistEntry.KIND_PROPERTY:
        _switchResult = CompletionItemKind.Property;
        break;
      case ContentAssistEntry.KIND_REFERENCE:
        _switchResult = CompletionItemKind.Reference;
        break;
      case ContentAssistEntry.KIND_SNIPPET:
        _switchResult = CompletionItemKind.Snippet;
        break;
      case ContentAssistEntry.KIND_TEXT:
        _switchResult = CompletionItemKind.Text;
        break;
      case ContentAssistEntry.KIND_UNIT:
        _switchResult = CompletionItemKind.Unit;
        break;
      case ContentAssistEntry.KIND_VALUE:
        _switchResult = CompletionItemKind.Value;
        break;
      case ContentAssistEntry.KIND_VARIABLE:
        _switchResult = CompletionItemKind.Variable;
        break;
      default:
        _switchResult = CompletionItemKind.Value;
        break;
    }
  } else {
    _switchResult = CompletionItemKind.Value;
  }
  return _switchResult;
}
项目:lsp4j    文件:CompletionItem.java   
/**
 * The kind of this completion item. Based of the kind an icon is chosen by the editor.
 */
@Pure
public CompletionItemKind getKind() {
  return this.kind;
}
项目:lsp4j    文件:CompletionItem.java   
/**
 * The kind of this completion item. Based of the kind an icon is chosen by the editor.
 */
public void setKind(final CompletionItemKind kind) {
  this.kind = kind;
}