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