1 /****************************************************************************
3 ** Copyright (C) 2005-2006 Trolltech ASA. All rights reserved.
5 ** This file is part of the example classes of the Qt Toolkit.
7 ** This file may be used under the terms of the GNU General Public
8 ** License version 2.0 as published by the Free Software Foundation
9 ** and appearing in the file LICENSE.GPL included in the packaging of
10 ** this file. Please review the following information to ensure GNU
11 ** General Public Licensing requirements will be met:
12 ** http://www.trolltech.com/products/qt/opensource.html
14 ** If you are unsure which license is appropriate for your use, please
15 ** review the following information:
16 ** http://www.trolltech.com/products/qt/licensing.html or contact the
17 ** sales department at sales@trolltech.com.
19 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
20 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
22 ****************************************************************************/
27 #include <QSyntaxHighlighter>
30 #include <QTextCharFormat>
34 class Highlighter : public QSyntaxHighlighter {
38 Highlighter(QTextDocument *parent = 0);
39 void addKeywords(const QStringList &sl);
42 void highlightBlock(const QString &text);
45 struct HighlightingRule {
47 QTextCharFormat format;
49 QVector<HighlightingRule> highlightingRules;
51 QRegExp commentStartExpression;
52 QRegExp commentEndExpression;
54 QTextCharFormat keywordFormat;
55 QTextCharFormat classFormat;
56 QTextCharFormat singleLineCommentFormat;
57 QTextCharFormat multiLineCommentFormat;
58 QTextCharFormat quotationFormat;
59 QTextCharFormat functionFormat;