From dad534005ea33d4484ec9e92b48b3ce5588c5e01 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Tue, 15 Feb 2022 10:18:01 +0100 Subject: [PATCH] ClangCodeModel: Do not set C_ENUMERATION for enum declarations ... when highlighting with clangd. This value is only meant for enum values, not types. Task-number: QTCREATORBUG-27059 Change-Id: I7bb68f5deb6bb215ee3c23d995207019850a7bfc Reviewed-by: Reviewed-by: David Schulz --- src/plugins/clangcodemodel/clangdclient.cpp | 1 - src/plugins/clangcodemodel/test/clangdtests.cpp | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index 4ec7646552f..ab7a1ae5a06 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -2784,7 +2784,6 @@ static void semanticHighlighter(QFutureInterface &future, styles.mainStyle = C_FIELD; } else if (token.type == "enum") { styles.mainStyle = C_TYPE; - styles.mixinStyles.push_back(C_ENUMERATION); } else if (token.type == "enumMember") { styles.mainStyle = C_ENUMERATION; } else if (token.type == "parameter") { diff --git a/src/plugins/clangcodemodel/test/clangdtests.cpp b/src/plugins/clangcodemodel/test/clangdtests.cpp index 6f5e3df3eef..44f71140cee 100644 --- a/src/plugins/clangcodemodel/test/clangdtests.cpp +++ b/src/plugins/clangcodemodel/test/clangdtests.cpp @@ -739,11 +739,11 @@ void ClangdTestHighlighting::test_data() QTest::newRow("static member function call") << 114 << 15 << 114 << 27 << QList{C_FUNCTION} << 0; QTest::newRow("enum declaration") << 118 << 6 << 118 << 17 - << QList{C_TYPE, C_ENUMERATION, C_DECLARATION} << 0; + << QList{C_TYPE, C_DECLARATION} << 0; QTest::newRow("enumerator declaration") << 120 << 5 << 120 << 15 << QList{C_ENUMERATION, C_DECLARATION} << 0; QTest::newRow("enum in variable declaration") << 125 << 5 << 125 << 16 - << QList{C_TYPE, C_ENUMERATION} << 0; + << QList{C_TYPE} << 0; QTest::newRow("enum variable declaration") << 125 << 17 << 125 << 28 << QList{C_LOCAL, C_DECLARATION} << 0; QTest::newRow("enum variable reference") << 127 << 5 << 127 << 16 << QList{C_LOCAL} << 0; @@ -961,7 +961,7 @@ void ClangdTestHighlighting::test_data() << 310 << 29 << 310 << 38 << QList{C_FIELD} << 0; QTest::newRow("enum declaration with underlying type") << 316 << 6 << 316 << 21 - << QList{C_TYPE, C_ENUMERATION, C_DECLARATION} << 0; + << QList{C_TYPE, C_DECLARATION} << 0; QTest::newRow("type in static_cast") << 328 << 23 << 328 << 33 << QList{C_TYPE} << 0; QTest::newRow("opening angle bracket in static_cast") << 328 << 16 << 328 << 17