[clang-tools-extra] 5dc2314 - [clangd] Update the CompletionItemKind.
Haojian Wu via cfe-commits
cfe-commits at lists.llvm.org
Fri Feb 14 06:50:38 PST 2020
Author: Haojian Wu
Date: 2020-02-14T15:48:30+01:00
New Revision: 5dc2314d5ecf3fe246ee0134f519183844287456
URL: https://github.com/llvm/llvm-project/commit/5dc2314d5ecf3fe246ee0134f519183844287456
DIFF: https://github.com/llvm/llvm-project/commit/5dc2314d5ecf3fe246ee0134f519183844287456.diff
LOG: [clangd] Update the CompletionItemKind.
Summary: Fix some FIXMEs.
Reviewers: kadircet
Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, usaxena95, cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D74609
Added:
Modified:
clang-tools-extra/clangd/CodeComplete.cpp
clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/CodeComplete.cpp b/clang-tools-extra/clangd/CodeComplete.cpp
index f7c6f105cb9a..3fbf98970cce 100644
--- a/clang-tools-extra/clangd/CodeComplete.cpp
+++ b/clang-tools-extra/clangd/CodeComplete.cpp
@@ -87,9 +87,8 @@ CompletionItemKind toCompletionItemKind(index::SymbolKind Kind) {
return CompletionItemKind::Text;
case SK::Enum:
return CompletionItemKind::Enum;
- // FIXME(ioeric): use LSP struct instead of class when it is suppoted in the
- // protocol.
case SK::Struct:
+ return CompletionItemKind::Struct;
case SK::Class:
case SK::Protocol:
case SK::Extension:
@@ -102,8 +101,6 @@ CompletionItemKind toCompletionItemKind(index::SymbolKind Kind) {
case SK::Using:
return CompletionItemKind::Reference;
case SK::Function:
- // FIXME(ioeric): this should probably be an operator. This should be fixed
- // when `Operator` is support type in the protocol.
case SK::ConversionFunction:
return CompletionItemKind::Function;
case SK::Variable:
@@ -112,9 +109,8 @@ CompletionItemKind toCompletionItemKind(index::SymbolKind Kind) {
return CompletionItemKind::Variable;
case SK::Field:
return CompletionItemKind::Field;
- // FIXME(ioeric): use LSP enum constant when it is supported in the protocol.
case SK::EnumConstant:
- return CompletionItemKind::Value;
+ return CompletionItemKind::EnumMember;
case SK::InstanceMethod:
case SK::ClassMethod:
case SK::StaticMethod:
diff --git a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
index a39c7431044f..f9ffe1167338 100644
--- a/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
+++ b/clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
@@ -481,7 +481,7 @@ TEST(CompletionTest, Kinds) {
AllOf(Has("function", CompletionItemKind::Function),
Has("variable", CompletionItemKind::Variable),
Has("int", CompletionItemKind::Keyword),
- Has("Struct", CompletionItemKind::Class),
+ Has("Struct", CompletionItemKind::Struct),
Has("MACRO", CompletionItemKind::Text),
Has("indexFunction", CompletionItemKind::Function),
Has("indexVariable", CompletionItemKind::Variable),
@@ -529,6 +529,17 @@ TEST(CompletionTest, Kinds) {
AllOf(Named("complete_variable"), Kind(CompletionItemKind::Variable)),
AllOf(Named("complete_static_member"),
Kind(CompletionItemKind::Property))));
+
+ Results = completions(
+ R"cpp(
+ enum Color {
+ Red
+ };
+ Color u = ^
+ )cpp");
+ EXPECT_THAT(Results.Completions,
+ Contains(
+ AllOf(Named("Red"), Kind(CompletionItemKind::EnumMember))));
}
TEST(CompletionTest, NoDuplicates) {
More information about the cfe-commits
mailing list