下面列出了org.eclipse.lsp4j.CompletionItemKind#Interface ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public static CompletionItemKind astNodeToCompletionItemKind(ASTNode node) {
if (node instanceof ClassNode) {
ClassNode classNode = (ClassNode) node;
if (classNode.isInterface()) {
return CompletionItemKind.Interface;
} else if (classNode.isEnum()) {
return CompletionItemKind.Enum;
}
return CompletionItemKind.Class;
} else if (node instanceof MethodNode) {
return CompletionItemKind.Method;
} else if (node instanceof Variable) {
if (node instanceof FieldNode || node instanceof PropertyNode) {
return CompletionItemKind.Field;
}
return CompletionItemKind.Variable;
}
return CompletionItemKind.Property;
}
private CompletionItemKind classInfoToCompletionItemKind(ClassInfo classInfo) {
if (classInfo.isInterface()) {
return CompletionItemKind.Interface;
}
if (classInfo.isEnum()) {
return CompletionItemKind.Enum;
}
return CompletionItemKind.Class;
}
private static CompletionItemKind elementKind2CompletionItemKind(ElementKind kind) {
switch (kind) {
case PACKAGE:
return CompletionItemKind.Folder;
case ENUM:
return CompletionItemKind.Enum;
case CLASS:
return CompletionItemKind.Class;
case ANNOTATION_TYPE:
return CompletionItemKind.Interface;
case INTERFACE:
return CompletionItemKind.Interface;
case ENUM_CONSTANT:
return CompletionItemKind.EnumMember;
case FIELD:
return CompletionItemKind.Field;
case PARAMETER:
return CompletionItemKind.Variable;
case LOCAL_VARIABLE:
return CompletionItemKind.Variable;
case EXCEPTION_PARAMETER:
return CompletionItemKind.Variable;
case METHOD:
return CompletionItemKind.Method;
case CONSTRUCTOR:
return CompletionItemKind.Constructor;
case TYPE_PARAMETER:
return CompletionItemKind.TypeParameter;
case RESOURCE_VARIABLE:
return CompletionItemKind.Variable;
case MODULE:
return CompletionItemKind.Module;
case STATIC_INIT:
case INSTANCE_INIT:
case OTHER:
default:
return CompletionItemKind.Text;
}
}
/**
* Translate to a completion item kind.
*/
protected CompletionItemKind translateKind(ContentAssistEntry entry) {
CompletionItemKind result = null;
if (entry.getKind() != null) {
switch (entry.getKind()) {
case ContentAssistEntry.KIND_CLASS:
result = CompletionItemKind.Class;
break;
case ContentAssistEntry.KIND_COLOR:
result = CompletionItemKind.Color;
break;
case ContentAssistEntry.KIND_CONSTRUCTOR:
result = CompletionItemKind.Constructor;
break;
case ContentAssistEntry.KIND_ENUM:
result = CompletionItemKind.Enum;
break;
case ContentAssistEntry.KIND_FIELD:
result = CompletionItemKind.Field;
break;
case ContentAssistEntry.KIND_FILE:
result = CompletionItemKind.File;
break;
case ContentAssistEntry.KIND_FUNCTION:
result = CompletionItemKind.Function;
break;
case ContentAssistEntry.KIND_INTERFACE:
result = CompletionItemKind.Interface;
break;
case ContentAssistEntry.KIND_KEYWORD:
result = CompletionItemKind.Keyword;
break;
case ContentAssistEntry.KIND_METHOD:
result = CompletionItemKind.Method;
break;
case ContentAssistEntry.KIND_MODULE:
result = CompletionItemKind.Module;
break;
case ContentAssistEntry.KIND_PROPERTY:
result = CompletionItemKind.Property;
break;
case ContentAssistEntry.KIND_REFERENCE:
result = CompletionItemKind.Reference;
break;
case ContentAssistEntry.KIND_SNIPPET:
result = CompletionItemKind.Snippet;
break;
case ContentAssistEntry.KIND_TEXT:
result = CompletionItemKind.Text;
break;
case ContentAssistEntry.KIND_UNIT:
result = CompletionItemKind.Unit;
break;
case ContentAssistEntry.KIND_VALUE:
result = CompletionItemKind.Value;
break;
case ContentAssistEntry.KIND_VARIABLE:
result = CompletionItemKind.Variable;
break;
default:
result = CompletionItemKind.Value;
break;
}
} else {
result = CompletionItemKind.Value;
}
return result;
}
private CompletionItemKind mapKind(final CompletionProposal proposal) {
//When a new CompletionItemKind is added, don't forget to update SUPPORTED_KINDS
int kind = proposal.getKind();
int flags = proposal.getFlags();
switch (kind) {
case CompletionProposal.ANONYMOUS_CLASS_CONSTRUCTOR_INVOCATION:
case CompletionProposal.CONSTRUCTOR_INVOCATION:
return CompletionItemKind.Constructor;
case CompletionProposal.ANONYMOUS_CLASS_DECLARATION:
case CompletionProposal.TYPE_REF:
if (Flags.isInterface(flags)) {
return CompletionItemKind.Interface;
} else if (Flags.isEnum(flags)) {
return CompletionItemKind.Enum;
}
return CompletionItemKind.Class;
case CompletionProposal.FIELD_IMPORT:
case CompletionProposal.METHOD_IMPORT:
case CompletionProposal.METHOD_NAME_REFERENCE:
case CompletionProposal.PACKAGE_REF:
case CompletionProposal.TYPE_IMPORT:
case CompletionProposal.MODULE_DECLARATION:
case CompletionProposal.MODULE_REF:
return CompletionItemKind.Module;
case CompletionProposal.FIELD_REF:
if (Flags.isEnum(flags)) {
return CompletionItemKind.EnumMember;
}
if (Flags.isStatic(flags) && Flags.isFinal(flags)) {
return CompletionItemKind.Constant;
}
return CompletionItemKind.Field;
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.Method;
//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;
}
}
public static CompletionItemKind getCompletionItemKindFromDefinition(IDefinition definition)
{
if (definition instanceof IClassDefinition)
{
return CompletionItemKind.Class;
}
else if (definition instanceof IInterfaceDefinition)
{
return CompletionItemKind.Interface;
}
else if (definition instanceof IAccessorDefinition)
{
return CompletionItemKind.Property;
}
else if (definition instanceof IFunctionDefinition)
{
IFunctionDefinition functionDefinition = (IFunctionDefinition) definition;
if (functionDefinition.isConstructor())
{
return CompletionItemKind.Constructor;
}
IDefinition parentDefinition = functionDefinition.getParent();
if (parentDefinition != null && parentDefinition instanceof ITypeDefinition)
{
return CompletionItemKind.Method;
}
return CompletionItemKind.Function;
}
else if (definition instanceof IConstantDefinition)
{
return CompletionItemKind.Constant;
}
else if (definition instanceof IVariableDefinition)
{
IVariableDefinition variableDefinition = (IVariableDefinition) definition;
VariableClassification variableClassification = variableDefinition.getVariableClassification();
if (variableClassification != null)
{
switch(variableClassification)
{
case INTERFACE_MEMBER:
case CLASS_MEMBER:
{
return CompletionItemKind.Field;
}
default:
{
return CompletionItemKind.Variable;
}
}
}
}
else if (definition instanceof IEventDefinition)
{
return CompletionItemKind.Event;
}
else if (definition instanceof IStyleDefinition)
{
return CompletionItemKind.Field;
}
return CompletionItemKind.Value;
}
protected CompletionItemKind translateKind(ContentAssistEntry entry) {
if (entry.getKind() != null) {
switch (entry.getKind()) {
case ContentAssistEntry.KIND_CLASS:
return CompletionItemKind.Class;
case ContentAssistEntry.KIND_COLOR:
return CompletionItemKind.Color;
case ContentAssistEntry.KIND_CONSTRUCTOR:
return CompletionItemKind.Constructor;
case ContentAssistEntry.KIND_ENUM:
return CompletionItemKind.Enum;
case ContentAssistEntry.KIND_FIELD:
return CompletionItemKind.Field;
case ContentAssistEntry.KIND_FILE:
return CompletionItemKind.File;
case ContentAssistEntry.KIND_FUNCTION:
return CompletionItemKind.Function;
case ContentAssistEntry.KIND_INTERFACE:
return CompletionItemKind.Interface;
case ContentAssistEntry.KIND_KEYWORD:
return CompletionItemKind.Keyword;
case ContentAssistEntry.KIND_METHOD:
return CompletionItemKind.Method;
case ContentAssistEntry.KIND_MODULE:
return CompletionItemKind.Module;
case ContentAssistEntry.KIND_PROPERTY:
return CompletionItemKind.Property;
case ContentAssistEntry.KIND_REFERENCE:
return CompletionItemKind.Reference;
case ContentAssistEntry.KIND_SNIPPET:
return CompletionItemKind.Snippet;
case ContentAssistEntry.KIND_TEXT:
return CompletionItemKind.Text;
case ContentAssistEntry.KIND_UNIT:
return CompletionItemKind.Unit;
case ContentAssistEntry.KIND_VALUE:
return CompletionItemKind.Value;
case ContentAssistEntry.KIND_VARIABLE:
return CompletionItemKind.Variable;
default:
return CompletionItemKind.Value;
}
} else {
return CompletionItemKind.Value;
}
}