summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/plugins/cppeditor/cpphighlighter.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/plugins/cppeditor/cpphighlighter.cpp b/src/plugins/cppeditor/cpphighlighter.cpp
index 4575fa9ec5..25354f4487 100644
--- a/src/plugins/cppeditor/cpphighlighter.cpp
+++ b/src/plugins/cppeditor/cpphighlighter.cpp
@@ -359,16 +359,18 @@ void CppHighlighter::highlightLine(const QString &text, int position, int length
void CppHighlighter::highlightWord(QStringRef word, int position, int length)
{
// try to highlight Qt 'identifiers' like QObject and Q_PROPERTY
- // but don't highlight words like 'Query'
- if (word.length() > 1 && word.at(0) == QLatin1Char('Q')) {
- for (int i = 1; i < word.length(); ++i) {
- const QChar &ch = word.at(i);
- if (! (ch.isUpper() || ch == QLatin1Char('_')))
- return;
- }
+ if (word.length() > 2 && word.at(0) == QLatin1Char('Q')) {
+ if (word.at(1) == QLatin1Char('_') // Q_
+ || word.at(1) == QLatin1Char('T') && word.at(2) == QLatin1Char('_')) { // QT_
+ for (int i = 1; i < word.length(); ++i) {
+ const QChar &ch = word.at(i);
+ if (! (ch.isUpper() || ch == QLatin1Char('_')))
+ return;
+ }
- setFormat(position, length, m_formats[CppTypeFormat]);
+ setFormat(position, length, m_formats[CppTypeFormat]);
+ }
}
}