From 7b3e515a8ce1cafff3ceb7c23b5065a7151437c0 Mon Sep 17 00:00:00 2001 From: Ian Cottrell Date: Tue, 16 Apr 2019 22:04:21 -0400 Subject: [PATCH] internal/lsp: switch completion item tests to using the enum strings Also change the enum values to match the prior string conversion routine. Change-Id: I23ac6a72c8e116c5ee05e9324356481e519781e9 Reviewed-on: https://go-review.googlesource.com/c/tools/+/172410 Run-TryBot: Ian Cottrell TryBot-Result: Gobot Gobot Reviewed-by: Rebecca Stambler --- internal/lsp/lsp_test.go | 23 +--------------- internal/lsp/protocol/enums.go | 50 +++++++++++++++++----------------- internal/lsp/source/enums.go | 20 +++++++------- 3 files changed, 36 insertions(+), 57 deletions(-) diff --git a/internal/lsp/lsp_test.go b/internal/lsp/lsp_test.go index e83686119a..fc55aae532 100644 --- a/internal/lsp/lsp_test.go +++ b/internal/lsp/lsp_test.go @@ -389,31 +389,10 @@ func (c completions) collect(src token.Position, expected []token.Pos) { } func (i completionItems) collect(pos token.Pos, label, detail, kind string) { - var k protocol.CompletionItemKind - switch kind { - case "struct": - k = protocol.StructCompletion - case "func": - k = protocol.FunctionCompletion - case "var": - k = protocol.VariableCompletion - case "type": - k = protocol.TypeParameterCompletion - case "field": - k = protocol.FieldCompletion - case "interface": - k = protocol.InterfaceCompletion - case "const": - k = protocol.ConstantCompletion - case "method": - k = protocol.MethodCompletion - case "package": - k = protocol.ModuleCompletion - } i[pos] = &protocol.CompletionItem{ Label: label, Detail: detail, - Kind: k, + Kind: protocol.ParseCompletionItemKind(kind), } } diff --git a/internal/lsp/protocol/enums.go b/internal/lsp/protocol/enums.go index 3106471b17..ecb8af4d70 100644 --- a/internal/lsp/protocol/enums.go +++ b/internal/lsp/protocol/enums.go @@ -53,31 +53,31 @@ func init() { namesDiagnosticTag[int(Unnecessary)] = "Unnecessary" - namesCompletionItemKind[int(TextCompletion)] = "TextCompletion" - namesCompletionItemKind[int(MethodCompletion)] = "MethodCompletion" - namesCompletionItemKind[int(FunctionCompletion)] = "FunctionCompletion" - namesCompletionItemKind[int(ConstructorCompletion)] = "ConstructorCompletion" - namesCompletionItemKind[int(FieldCompletion)] = "FieldCompletion" - namesCompletionItemKind[int(VariableCompletion)] = "VariableCompletion" - namesCompletionItemKind[int(ClassCompletion)] = "ClassCompletion" - namesCompletionItemKind[int(InterfaceCompletion)] = "InterfaceCompletion" - namesCompletionItemKind[int(ModuleCompletion)] = "ModuleCompletion" - namesCompletionItemKind[int(PropertyCompletion)] = "PropertyCompletion" - namesCompletionItemKind[int(UnitCompletion)] = "UnitCompletion" - namesCompletionItemKind[int(ValueCompletion)] = "ValueCompletion" - namesCompletionItemKind[int(EnumCompletion)] = "EnumCompletion" - namesCompletionItemKind[int(KeywordCompletion)] = "KeywordCompletion" - namesCompletionItemKind[int(SnippetCompletion)] = "SnippetCompletion" - namesCompletionItemKind[int(ColorCompletion)] = "ColorCompletion" - namesCompletionItemKind[int(FileCompletion)] = "FileCompletion" - namesCompletionItemKind[int(ReferenceCompletion)] = "ReferenceCompletion" - namesCompletionItemKind[int(FolderCompletion)] = "FolderCompletion" - namesCompletionItemKind[int(EnumMemberCompletion)] = "EnumMemberCompletion" - namesCompletionItemKind[int(ConstantCompletion)] = "ConstantCompletion" - namesCompletionItemKind[int(StructCompletion)] = "StructCompletion" - namesCompletionItemKind[int(EventCompletion)] = "EventCompletion" - namesCompletionItemKind[int(OperatorCompletion)] = "OperatorCompletion" - namesCompletionItemKind[int(TypeParameterCompletion)] = "TypeParameterCompletion" + namesCompletionItemKind[int(TextCompletion)] = "text" + namesCompletionItemKind[int(MethodCompletion)] = "method" + namesCompletionItemKind[int(FunctionCompletion)] = "func" + namesCompletionItemKind[int(ConstructorCompletion)] = "constructor" + namesCompletionItemKind[int(FieldCompletion)] = "field" + namesCompletionItemKind[int(VariableCompletion)] = "var" + namesCompletionItemKind[int(ClassCompletion)] = "class" + namesCompletionItemKind[int(InterfaceCompletion)] = "interface" + namesCompletionItemKind[int(ModuleCompletion)] = "package" + namesCompletionItemKind[int(PropertyCompletion)] = "property" + namesCompletionItemKind[int(UnitCompletion)] = "unit" + namesCompletionItemKind[int(ValueCompletion)] = "value" + namesCompletionItemKind[int(EnumCompletion)] = "enum" + namesCompletionItemKind[int(KeywordCompletion)] = "keyword" + namesCompletionItemKind[int(SnippetCompletion)] = "snippet" + namesCompletionItemKind[int(ColorCompletion)] = "color" + namesCompletionItemKind[int(FileCompletion)] = "file" + namesCompletionItemKind[int(ReferenceCompletion)] = "reference" + namesCompletionItemKind[int(FolderCompletion)] = "folder" + namesCompletionItemKind[int(EnumMemberCompletion)] = "enumMember" + namesCompletionItemKind[int(ConstantCompletion)] = "const" + namesCompletionItemKind[int(StructCompletion)] = "struct" + namesCompletionItemKind[int(EventCompletion)] = "event" + namesCompletionItemKind[int(OperatorCompletion)] = "operator" + namesCompletionItemKind[int(TypeParameterCompletion)] = "type" namesInsertTextFormat[int(PlainTextTextFormat)] = "PlainText" namesInsertTextFormat[int(SnippetTextFormat)] = "Snippet" diff --git a/internal/lsp/source/enums.go b/internal/lsp/source/enums.go index 5ceea99aae..9cb88ccaf6 100644 --- a/internal/lsp/source/enums.go +++ b/internal/lsp/source/enums.go @@ -29,16 +29,16 @@ func init() { namesDiagnosticSeverity[SeverityError] = "Error" namesCompletionItemKind[Unknown] = "Unknown" - namesCompletionItemKind[InterfaceCompletionItem] = "InterfaceCompletion" - namesCompletionItemKind[StructCompletionItem] = "StructCompletion" - namesCompletionItemKind[TypeCompletionItem] = "TypeCompletion" - namesCompletionItemKind[ConstantCompletionItem] = "ConstantCompletion" - namesCompletionItemKind[FieldCompletionItem] = "FieldCompletion" - namesCompletionItemKind[ParameterCompletionItem] = "ParameterCompletion" - namesCompletionItemKind[VariableCompletionItem] = "VariableCompletion" - namesCompletionItemKind[FunctionCompletionItem] = "FunctionCompletion" - namesCompletionItemKind[MethodCompletionItem] = "MethodCompletion" - namesCompletionItemKind[PackageCompletionItem] = "PackageCompletion" + namesCompletionItemKind[InterfaceCompletionItem] = "interface" + namesCompletionItemKind[StructCompletionItem] = "struct" + namesCompletionItemKind[TypeCompletionItem] = "type" + namesCompletionItemKind[ConstantCompletionItem] = "const" + namesCompletionItemKind[FieldCompletionItem] = "field" + namesCompletionItemKind[ParameterCompletionItem] = "parameter" + namesCompletionItemKind[VariableCompletionItem] = "var" + namesCompletionItemKind[FunctionCompletionItem] = "func" + namesCompletionItemKind[MethodCompletionItem] = "method" + namesCompletionItemKind[PackageCompletionItem] = "package" } func formatEnum(f fmt.State, c rune, i int, names []string, unknown string) {