16 #ifndef _QNFA_DEFINITION_H_ 17 #define _QNFA_DEFINITION_H_ 29 #include <QStringList> 45 FormatMask = 0x00000fff,
46 ParenMask = 0x00fff000,
48 Highlight = 0x01000000,
50 ParenOpen = 0x04000000,
51 ParenClose = 0x08000000,
52 MatchParen = 0x10000000,
55 Ambiguous = 0x40000000,
60 inline static int format(
int id)
61 {
return id & FormatMask; }
63 inline static int parenthesis(
int id)
64 {
return id & ParenMask; }
96 static void addContext(
const QString&
id,
QNFA *nfa);
97 static void addEmbedRequest(
const QString& lang,
QNFA *dest);
98 static void shareEmbedRequests(
QNFA *src,
QNFA *dest,
int offset);
106 QStringList m_extensions;
110 QHash<QPointer<QDocument>,
int> m_matchGroups;
112 static QHash<QString, int> m_paren;
113 static QHash<QString, QNFA*> m_contexts;
117 PMatch() : type(Invalid)
144 void matchClose(
QDocument *d, PMatch& m);
146 int findBlockEnd(
QDocument *d,
int line,
bool *open = 0);
148 static void flushEmbedRequests(
const QString& lang);
152 inline EmbedRequest(
QNFA *nfa,
int idx) : index(idx), target(nfa) {}
160 static QHash<QString, EmbedRequestList> m_pendingEmbeds;
163 #endif // !_QNFA_DEFINITION_H_ Definition: qdocumentline.h:36
#define QCE_EXPORT
Macro needed for cross-platform shared libraries creation.
Definition: qce-config.h:40
virtual int blockFlags(QDocument *d, int line, int depth=0) const
Compute the collapse state of a line.
Definition: qlanguagedefinition.cpp:164
virtual QString indent(const QDocumentCursor &c)
Return the indent to use when inserting a line at a given cursor position.
Definition: qlanguagedefinition.cpp:125
virtual void collapse(QDocument *d, int line)
Collapse a text block at a given line.
Definition: qlanguagedefinition.cpp:155
A class storing a document.
Definition: qdocument.h:62
virtual void match(QDocumentCursor &c)
Brace matching entry point.
Definition: qlanguagedefinition.cpp:117
virtual bool unindent(const QDocumentCursor &c, const QString &ktxt)
Determines whether the given key event at the given position should cause unindent to happen.
Definition: qlanguagedefinition.cpp:135
Definition: qnfadefinition.h:38
Definition: qnfadefinition.h:67
virtual int tokenize(QDocument *d, int line, int count)
Entry point for syntax highlighting.
Definition: qlanguagedefinition.cpp:82
virtual QString language() const =0
Definition of the QLanguageDefinition class.
Definition: qlanguagefactory.h:46
virtual void expand(QDocument *d, int line)
Expand a collapsed block at a given line.
Definition: qlanguagedefinition.cpp:146
Definition of the QLanguageFactory class.
Interface for language definition.
Definition: qlanguagedefinition.h:40
virtual void clearMatches(QDocument *d)
Brace matching entry point.
Definition: qlanguagedefinition.cpp:109
A cursor to navigate within documents and edit them.
Definition: qdocumentcursor.h:36
virtual QStringList extensions() const =0
virtual QString singleLineComment() const
Return the string starting a single line comment, if any offered by the language.
Definition: qlanguagedefinition.cpp:93
virtual QString defaultLineMark() const
Let language specify which line mark should be toggled by left clicking a line mark panel.
Definition: qlanguagedefinition.cpp:101