44 static TextGrammarRule* createMultiLineRegExp(
TextGrammar* grammar,
const QString& scopeName,
const QString& contentScopeName,
const QString& beginRegExp,
const QString& endRegExp );
57 void giveMatchRegExp(
RegExp* regExp );
58 void setEndRegExpString(
const QString& str );
67 const QMap<int,QString>&
endCaptures() {
return endCaptures_; }
75 void setCapture(
int idx,
const QString& name ) { matchCaptures_.insert(idx,name); }
76 void setEndCapture(
int idx,
const QString& name ) { endCaptures_.insert(idx,name); }
78 QString toString(
bool includePatterns=
true);
86 bool hasNext() {
return index_ < ruleRef_->ruleCount(); }
99 static RegExp* createRegExp(
const QString& regexp );
104 Instruction instruction_;
109 QString endRegExpString_;
111 QMap<int,QString> matchCaptures_;
112 QMap<int,QString> endCaptures_;
114 QString contentScopeName_;
116 QList<TextGrammarRule*> ruleList_;
132 QString
name()
const;
143 QString displayName_;
145 QMap<QString, TextGrammarRule*> repository_;
146 QStringList fileExtensions_;
172 TextGrammar* detectGrammarWithFilename(
const QString& fileName );
174 QString lastErrorMessage()
const;
179 QMap<QString,TextGrammar*> grammarMap_;
180 QString lastErrorMessage_;
The texteditor manager, It manages all singleton objects for the editor It performs the initializatio...
Definition edbee.h:27
A class for matching QStrings with the Oniguruma API We need this Regular Expression library to be ab...
Definition regexp.h:35
This class defines a single language grammar.
Definition textgrammar.h:124
TextGrammarRule * findFromRepos(const QString &name, TextGrammarRule *defValue=0)
Finds the grammar rule from the respos.
Definition textgrammar.cpp:250
void giveMainRule(TextGrammarRule *mainRule)
Gives the main rule the grammmar.
Definition textgrammar.cpp:203
void addFileExtension(const QString &ext)
Adds a file extension.
Definition textgrammar.cpp:258
QString name() const
return the name of the textgrammar
Definition textgrammar.cpp:211
QStringList fileExtensions() const
Returns all file extensions that are used by this grammar.
Definition textgrammar.cpp:233
TextGrammar(const QString &name, const QString &displayName)
The default texgrammar constructor.
Definition textgrammar.cpp:184
TextGrammarRule * mainRule() const
Returns the main grammar rule for this textgrammar.
Definition textgrammar.cpp:225
QString displayName() const
Returns the displayname of this grammar.
Definition textgrammar.cpp:218
void giveToRepos(const QString &name, TextGrammarRule *rule)
This method adds the given grammar rule to the repos.
Definition textgrammar.cpp:240
TextGrammar * get(const QString &name)
This method returns the given language grammar.
Definition textgrammar.cpp:326
void giveGrammar(TextGrammar *grammar)
This method gives a language grammar to the document.
Definition textgrammar.cpp:334
QList< TextGrammar * > grammarsSortedByDisplayName()
This utility function returns all grammars sorted on displayname Warning, this method sorts the gramm...
Definition textgrammar.cpp:380
TextGrammarManager()
The text grammar manager constructor.
Definition textgrammar.cpp:268
TextGrammar * readGrammarFile(const QString &file)
This method reads the given grammar file and adds it to the grammar manager. The grammar manager stay...
Definition textgrammar.cpp:292
QList< TextGrammar * > grammars()
This method returns the values.
Definition textgrammar.cpp:362
friend class Edbee
Definition textgrammar.h:182
TextGrammar * defaultGrammar()
Definition textgrammar.h:171
QList< QString > grammarNames()
This method returns all grammar names.
Definition textgrammar.cpp:355
void readAllGrammarFilesInPath(const QString &path)
reads all grammar files in the given path
Definition textgrammar.cpp:313
Definition textgrammar.h:83
Iterator(const TextGrammarRule *rule)
Definition textgrammar.h:85
bool hasNext()
Definition textgrammar.h:86
TextGrammarRule * next()
Definition textgrammar.h:87
defines a single grammar rule
Definition textgrammar.h:24
void setIncludeName(const QString &name)
Definition textgrammar.h:73
bool isIncludeCall()
Definition textgrammar.h:51
void setCapture(int idx, const QString &name)
Definition textgrammar.h:75
QString contentScopeName() const
Definition textgrammar.h:68
Instruction
the instructions
Definition textgrammar.h:28
@ RuleList
A list of rules (no regexp)
Definition textgrammar.h:30
@ Parser
A full parser (not yet supported, by added as idea for the future). But could be marked by multiple r...
Definition textgrammar.h:34
@ MainRule
The main rule has no regexp matches.
Definition textgrammar.h:29
@ MultiLineRegExp
A multi-line regexp (begin end)
Definition textgrammar.h:32
@ SingleLineRegExp
A single line regexp.
Definition textgrammar.h:31
@ IncludeCall
Includes another scope.
Definition textgrammar.h:33
Iterator * createIterator()
Definition textgrammar.h:93
const QMap< int, QString > & endCaptures()
Definition textgrammar.h:67
TextGrammarRule(TextGrammar *grammar, Instruction instruction)
The text grammar rule constructor.
Definition textgrammar.cpp:19
QString scopeName() const
Definition textgrammar.h:62
TextGrammarRule * rule(int idx) const
returns the child rule at the given index
Definition textgrammar.cpp:104
bool isRuleList()
Definition textgrammar.h:48
Instruction instruction() const
Definition textgrammar.h:60
void setContentScopeName(const QString &name)
Definition textgrammar.h:69
void setInstruction(Instruction ins)
Definition textgrammar.h:61
bool isMainRule()
Definition textgrammar.h:47
void setScopeName(const QString &scopeName)
Definition textgrammar.h:63
QString includeName()
the include name is stored in the content-scopename
Definition textgrammar.h:72
void setEndCapture(int idx, const QString &name)
Definition textgrammar.h:76
bool isSingleLineRegExp()
Definition textgrammar.h:50
const QMap< int, QString > & matchCaptures()
Definition textgrammar.h:66
QString endRegExpString() const
Definition textgrammar.h:65
TextGrammar * grammar()
Definition textgrammar.h:95
int ruleCount() const
Definition textgrammar.h:53
bool isMultiLineRegExp()
Definition textgrammar.h:49
RegExp * matchRegExp() const
Definition textgrammar.h:64
#define EDBEE_EXPORT
Definition exports.h:15
QT Acessibility has an issue with reporting blank lines between elements lines. defining 'WINDOWS_EMP...
Definition commentcommand.cpp:20