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

Method initializeRules

Gui/ScriptTextEdit.cpp:148–185  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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