2 #include <QJSONHighlighter> 3 #include <QSyntaxStyle> 9 m_keyRegex(R
"(("[^\r\n:]+?")\s*:)") 11 auto keywords = QStringList()
12 <<
"null" <<
"true" <<
"false";
14 for (
auto&& keyword : keywords)
17 QRegularExpression(QString(R
"(\b%1\b)").arg(keyword)), 24 QRegularExpression(R
"(\b(0b|0x){0,1}[\d.']+\b)"), 30 QRegularExpression(R
"("[^\n"]*")"), 39 auto matchIterator = rule.pattern.globalMatch(text);
41 while (matchIterator.hasNext())
43 auto match = matchIterator.next();
46 match.capturedStart(),
47 match.capturedLength(),
54 auto matchIterator =
m_keyRegex.globalMatch(text);
56 while (matchIterator.hasNext())
58 auto match = matchIterator.next();
61 match.capturedStart(1),
62 match.capturedLength(1),
QSyntaxStyle * syntaxStyle() const
Method for getting syntax style.
auto arg(const Char *name, const T &arg) -> detail::named_arg< Char, T >
void highlightBlock(const QString &text) override
QRegularExpression m_keyRegex
Class, that descrubes highlighter with syntax style.
QVector< QHighlightRule > m_highlightRules
QTextCharFormat getFormat(QString name) const
Method for getting format for property name.
static const char * match(MatchState *ms, const char *s, const char *p)
QJSONHighlighter(QTextDocument *document=nullptr)
Constructor.