summaryrefslogtreecommitdiff
path: root/src/plugins/clangcodemodel/clanghighlightingmarksreporter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/clangcodemodel/clanghighlightingmarksreporter.cpp')
-rw-r--r--src/plugins/clangcodemodel/clanghighlightingmarksreporter.cpp72
1 files changed, 42 insertions, 30 deletions
diff --git a/src/plugins/clangcodemodel/clanghighlightingmarksreporter.cpp b/src/plugins/clangcodemodel/clanghighlightingmarksreporter.cpp
index 1054fa9e28..ccddbc978f 100644
--- a/src/plugins/clangcodemodel/clanghighlightingmarksreporter.cpp
+++ b/src/plugins/clangcodemodel/clanghighlightingmarksreporter.cpp
@@ -25,57 +25,69 @@
#include "clanghighlightingmarksreporter.h"
-#include <cpptools/semantichighlighter.h>
+#include <texteditor/textstyles.h>
#include <QFuture>
namespace {
-CppTools::SemanticHighlighter::Kind toCppToolsSemanticHighlighterKind(
- ClangBackEnd::HighlightingType type)
+TextEditor::TextStyle toTextStyle(ClangBackEnd::HighlightingType type)
{
using ClangBackEnd::HighlightingType;
- using CppTools::SemanticHighlighter;
switch (type) {
- case HighlightingType::Keyword:
- return SemanticHighlighter::PseudoKeywordUse;
- case HighlightingType::Function:
- return SemanticHighlighter::FunctionUse;
- case HighlightingType::VirtualFunction:
- return SemanticHighlighter::VirtualMethodUse;
- case HighlightingType::Type:
- return SemanticHighlighter::TypeUse;
- case HighlightingType::LocalVariable:
- return SemanticHighlighter::LocalUse;
- case HighlightingType::Field:
- return SemanticHighlighter::FieldUse;
- case HighlightingType::GlobalVariable:
- return SemanticHighlighter::Unknown;
- case HighlightingType::Enumeration:
- return SemanticHighlighter::EnumerationUse;
- case HighlightingType::Label:
- return SemanticHighlighter::LabelUse;
- case HighlightingType::Preprocessor:
- case HighlightingType::PreprocessorDefinition:
- case HighlightingType::PreprocessorExpansion:
- return SemanticHighlighter::MacroUse;
- default:
- return SemanticHighlighter::Unknown;
+ case HighlightingType::Keyword:
+ return TextEditor::C_KEYWORD;
+ case HighlightingType::Function:
+ return TextEditor::C_FUNCTION;
+ case HighlightingType::VirtualFunction:
+ return TextEditor::C_VIRTUAL_METHOD;
+ case HighlightingType::Type:
+ return TextEditor::C_TYPE;
+ case HighlightingType::LocalVariable:
+ return TextEditor::C_LOCAL;
+ case HighlightingType::Field:
+ return TextEditor::C_FIELD;
+ case HighlightingType::GlobalVariable:
+ return TextEditor::C_GLOBAL;
+ case HighlightingType::Enumeration:
+ return TextEditor::C_ENUMERATION;
+ case HighlightingType::Label:
+ return TextEditor::C_LABEL;
+ case HighlightingType::Preprocessor:
+ case HighlightingType::PreprocessorDefinition:
+ case HighlightingType::PreprocessorExpansion:
+ return TextEditor::C_PREPROCESSOR;
+ case HighlightingType::Declaration:
+ return TextEditor::C_DECLARATION;
+ default:
+ return TextEditor::C_TEXT; // never called
}
Q_UNREACHABLE();
}
+TextEditor::TextStyles toTextStyles(ClangBackEnd::HighlightingTypes types)
+{
+ TextEditor::TextStyles textStyles;
+
+ textStyles.mainStyle = toTextStyle(types.mainHighlightingType);
+
+ for (ClangBackEnd::HighlightingType type : types.mixinHighlightingTypes)
+ textStyles.mixinStyles.push_back(toTextStyle(type));
+
+ return textStyles;
+}
+
TextEditor::HighlightingResult toHighlightingResult(
const ClangBackEnd::HighlightingMarkContainer &highlightingMark)
{
- const auto highlighterKind = toCppToolsSemanticHighlighterKind(highlightingMark.type());
+ const auto textStyles = toTextStyles(highlightingMark.types());
return TextEditor::HighlightingResult(highlightingMark.line(),
highlightingMark.column(),
highlightingMark.length(),
- highlighterKind);
+ textStyles);
}
} // anonymous