1// This is the SIP interface definition for QsciLexerTCL.
2//
3// Copyright (c) 2021 Riverbank Computing Limited <info@riverbankcomputing.com>
4//
5// This file is part of QScintilla.
6//
7// This file may be used under the terms of the GNU General Public License
8// version 3.0 as published by the Free Software Foundation and appearing in
9// the file LICENSE included in the packaging of this file.  Please review the
10// following information to ensure the GNU General Public License version 3.0
11// requirements will be met: http://www.gnu.org/copyleft/gpl.html.
12//
13// If you do not wish to use this file under the terms of the GPL version 3.0
14// then you may purchase a commercial license.  For more information contact
15// info@riverbankcomputing.com.
16//
17// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19
20
21class QsciLexerTCL : QsciLexer
22{
23%TypeHeaderCode
24#include <Qsci/qscilexertcl.h>
25%End
26
27public:
28    enum {
29        Default,
30        Comment,
31        CommentLine,
32        Number,
33        QuotedKeyword,
34        QuotedString,
35        Operator,
36        Identifier,
37        Substitution,
38        SubstitutionBrace,
39        Modifier,
40        ExpandKeyword,
41        TCLKeyword,
42        TkKeyword,
43        ITCLKeyword,
44        TkCommand,
45        KeywordSet6,
46        KeywordSet7,
47        KeywordSet8,
48        KeywordSet9,
49        CommentBox,
50        CommentBlock
51    };
52
53    QsciLexerTCL(QObject *parent /TransferThis/ = 0);
54    virtual ~QsciLexerTCL();
55
56    const char *language() const;
57    const char *lexer() const;
58    QColor defaultColor(int style) const;
59    bool defaultEolFill(int style) const;
60    QFont defaultFont(int style) const;
61    QColor defaultPaper(int style) const;
62    const char *keywords(int set) const;
63    QString description(int style) const;
64
65    int braceStyle() const;
66
67    void refreshProperties();
68    void setFoldComments(bool fold);
69    bool foldComments() const;
70
71protected:
72    bool readProperties(QSettings &qs, const QString &prefix);
73    bool writeProperties(QSettings &qs, const QString &prefix) const;
74
75private:
76    QsciLexerTCL(const QsciLexerTCL &);
77};
78