#ifndef HIGHLIGHTER_GSC_H #define HIGHLIGHTER_GSC_H #include #include class Highlighter_GSC : public QSyntaxHighlighter { Q_OBJECT public: Highlighter_GSC(QTextDocument *parent = nullptr); protected: void highlightBlock(const QString &text) override; private: struct HighlightingRule { QRegularExpression pattern; QTextCharFormat format; }; QList highlightingRules; QRegularExpression commentStartExpression; QRegularExpression commentEndExpression; QTextCharFormat keywordFormat; QTextCharFormat classFormat; QTextCharFormat quotationFormat; QTextCharFormat functionFormat; QTextCharFormat singleLineCommentFormat; QTextCharFormat multiLineCommentFormat; QTextCharFormat preprocessorFormat; QTextCharFormat variableFormat; QTextCharFormat numberFormat; QTextCharFormat devBlockCommentFormat; QRegularExpression devCommentStart; QRegularExpression devCommentEnd; }; #endif // HIGHLIGHTER_GSC_H