Revision control

++ // Copyright (C) 2016 The Qt Company Ltd.
++ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
++
++ #ifndef HIGHLIGHTER_H
++ #define HIGHLIGHTER_H
++
++ #include <QSyntaxHighlighter>
++ #include <QTextCharFormat>
++ #include <QRegularExpression>
++
++ QT_BEGIN_NAMESPACE
++ class QTextDocument;
++ QT_END_NAMESPACE
++
++ //! [0]
++ class Highlighter : public QSyntaxHighlighter
++ {
++ Q_OBJECT
++
++ public:
++ Highlighter(QTextDocument *parent = nullptr);
++
++ protected:
++ void highlightBlock(const QString &text) override;
++
++ private:
++ struct HighlightingRule
++ {
++ QRegularExpression pattern;
++ QTextCharFormat format;
++ };
++ QList<HighlightingRule> highlightingRules;
++
++ QRegularExpression commentStartExpression;
++ QRegularExpression commentEndExpression;
++
++ QTextCharFormat keywordFormat;
++ QTextCharFormat classFormat;
++ QTextCharFormat singleLineCommentFormat;
++ QTextCharFormat multiLineCommentFormat;
++ QTextCharFormat quotationFormat;
++ QTextCharFormat functionFormat;
++ };
++ //! [0]
++
++ #endif // HIGHLIGHTER_H