1 #ifndef ECMASCRIPTHIGHLIGHTER_H 2 #define ECMASCRIPTHIGHLIGHTER_H 3 4 #include <QSyntaxHighlighter> 5 6 class ECMAScriptHighlighter : public QSyntaxHighlighter 7 { 8 Q_OBJECT 9 10 public: 11 explicit ECMAScriptHighlighter(QTextDocument *parent); 12 13 protected: 14 virtual void highlightBlock(const QString &); 15 16 private: 17 struct HighlightingRule 18 { 19 QRegExp pattern; 20 QTextCharFormat format; 21 }; 22 QVector<HighlightingRule> mHighlightingRules; 23 24 QRegExp mMultiLineCommentStartExpression; 25 QRegExp mMultiLineCommentEndExpression; 26 QRegExp mSingleLineCommentExpression; 27 28 QTextCharFormat mKeywordFormat; 29 QTextCharFormat mSingleLineCommentFormat; 30 QTextCharFormat mMultiLineCommentFormat; 31 QTextCharFormat mQuotationFormat; 32 QTextCharFormat mFunctionFormat; 33 QTextCharFormat mScriptEngineFormat; 34 }; 35 36 #endif // ECMASCRIPTHIGHLIGHTER_H 37