MCPcopy Create free account
hub / github.com/MrKepzie/Natron / initializeRules

Method initializeRules

Gui/ScriptTextEdit.cpp:146–183  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

144}
145
146void
147PySyntaxHighlighterPrivate::initializeRules()
148{
149 rules.clear();
150 for (QStringList::Iterator it = keywords.begin(); it != keywords.end(); ++it) {
151 rules.append( PyHighLightRule( QString::fromUtf8("\\b%1\\b").arg(*it), 0, basicStyles.value( QString::fromUtf8( ("keyword") ) ) ) );
152 }
153 for (QStringList::Iterator it = operators.begin(); it != operators.end(); ++it) {
154 rules.append( PyHighLightRule( QString::fromUtf8("%1").arg(*it), 0, basicStyles.value( QString::fromUtf8( ("operator") ) ) ) );
155 }
156
157 for (QStringList::Iterator it = braces.begin(); it != braces.end(); ++it) {
158 rules.append( PyHighLightRule( QString::fromUtf8("%1").arg(*it), 0, basicStyles.value( QString::fromUtf8( ("brace") ) ) ) );
159 }
160
161 // 'self'
162 rules.append( PyHighLightRule( QString::fromUtf8("\\bself\\b"), 0, basicStyles.value( QString::fromUtf8( ("self") ) ) ) );
163
164 // Double-quoted string, possibly containing escape sequences
165 rules.append( PyHighLightRule( QString::fromUtf8("\"[^\"\\\\]*(\\\\.[^\"\\\\]*)*\""), 0, basicStyles.value( QString::fromUtf8("string") ) ) );
166
167 // Single-quoted string, possibly containing escape sequences
168 rules.append( PyHighLightRule( QString::fromUtf8("'[^'\\\\]*(\\\\.[^'\\\\]*)*'"), 0, basicStyles.value( QString::fromUtf8("string") ) ) );
169
170 // 'def' followed by an identifier
171 rules.append( PyHighLightRule( QString::fromUtf8("\\bdef\\b\\s*(\\w+)"), 1, basicStyles.value( QString::fromUtf8("defclass") ) ) );
172
173 // 'class' followed by an identifier
174 rules.append( PyHighLightRule( QString::fromUtf8("\\bclass\\b\\s*(\\w+)"), 1, basicStyles.value( QString::fromUtf8("defclass") ) ) );
175
176 // From '#' until a newline
177 rules.append( PyHighLightRule( QString::fromUtf8("#[^\\n]*"), 0, basicStyles.value( QString::fromUtf8("comment") ) ) );
178
179 // Numeric literals
180 rules.append( PyHighLightRule( QString::fromUtf8("\\b[+-]?[0-9]+[lL]?\\b"), 0, basicStyles.value( QString::fromUtf8("numbers") ) ) );
181 rules.append( PyHighLightRule( QString::fromUtf8("\\b[+-]?0[xX][0-9A-Fa-f]+[lL]?\\b"), 0, basicStyles.value( QString::fromUtf8("numbers") ) ) );
182 rules.append( PyHighLightRule( QString::fromUtf8("\\b[+-]?[0-9]+(?:\\.[0-9]+)?(?:[eE][+-]?[0-9]+)?\\b"), 0, basicStyles.value( QString::fromUtf8("numbers") ) ) );
183}
184
185bool
186PySyntaxHighlighter::matchMultiline(const QString &text,

Callers

nothing calls this directly

Calls 6

PyHighLightRuleFunction · 0.85
appendMethod · 0.80
clearMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected