#ifndef MDHIGHLIGHTER_H #define MDHIGHLIGHTER_H #include #include #include class QTextDocument; class MdHighlighter : public QSyntaxHighlighter { Q_OBJECT public: explicit MdHighlighter(QTextDocument *parent = nullptr); protected: void highlightBlock(const QString &text); private: struct HighlightingRule { QRegExp pattern; QTextCharFormat format; }; QVector highlightingRules; QRegExp commentStartExpression; QRegExp commentEndExpression; QTextCharFormat keywordFormat; QTextCharFormat classFormat; QTextCharFormat singleLineCommentFormat; QTextCharFormat multiLineCommentFormat; QTextCharFormat quotationFormat; QTextCharFormat functionFormat; }; #endif // MDHIGHLIGHTER_H