From 9f4b30ca8c785435e62a28425548ba0dab84b3ee Mon Sep 17 00:00:00 2001 From: Nathan Ridge Date: Thu, 22 Feb 2018 18:43:39 -0500 Subject: [PATCH] Fix semantic highlighting regressions from switch from ClangSymbolKind to lsSymbolKind (fixes #469) --- src/indexer.cc | 4 ++-- src/symbol.h | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/indexer.cc b/src/indexer.cc index 8d5e9290..f430964b 100644 --- a/src/indexer.cc +++ b/src/indexer.cc @@ -118,7 +118,7 @@ lsSymbolKind GetSymbolKind(CXIdxEntityKind kind) { return lsSymbolKind::Struct; case CXIdxEntity_CXXTypeAlias: case CXIdxEntity_Typedef: - return lsSymbolKind::TypeParameter; + return lsSymbolKind::TypeAlias; case CXIdxEntity_Function: return lsSymbolKind::Function; @@ -1310,7 +1310,7 @@ ClangCursor::VisitResult TemplateVisitor(ClangCursor cursor, ref_var->def.extent = SetUse(db, ref_cursor.get_extent(), lex_parent, Role::None); ref_var = db->Resolve(ref_var_id); - ref_var->def.kind = lsSymbolKind::Parameter; + ref_var->def.kind = lsSymbolKind::TypeParameter; SetVarDetail(ref_var, ref_cursor.get_spell_name(), ref_cursor, nullptr, true, db, param); diff --git a/src/symbol.h b/src/symbol.h index 74c06b8b..688a81f5 100644 --- a/src/symbol.h +++ b/src/symbol.h @@ -107,12 +107,16 @@ enum class lsSymbolKind : uint8_t { Struct = 23, Event = 24, Operator = 25, - TypeParameter = 26, + + // For C++, this is interpreted as "template parameter" (including + // non-type template parameters). + TypeParameter = 26, // cquery extensions // See also https://github.com/Microsoft/language-server-protocol/issues/344 // for new SymbolKind clang/Index/IndexSymbol.h clang::index::SymbolKind - Parameter = 13, + TypeAlias = 252, + Parameter = 253, StaticMethod = 254, Macro = 255, };