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 <iancottrell@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Rebecca Stambler <rstambler@golang.org>
diff --git a/internal/lsp/lsp_test.go b/internal/lsp/lsp_test.go
index e836861..fc55aae 100644
--- a/internal/lsp/lsp_test.go
+++ b/internal/lsp/lsp_test.go
@@ -389,31 +389,10 @@
 }
 
 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 3106471..ecb8af4 100644
--- a/internal/lsp/protocol/enums.go
+++ b/internal/lsp/protocol/enums.go
@@ -53,31 +53,31 @@
 
 	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 5ceea99..9cb88cc 100644
--- a/internal/lsp/source/enums.go
+++ b/internal/lsp/source/enums.go
@@ -29,16 +29,16 @@
 	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) {