summaryrefslogtreecommitdiff
path: root/src/plugins/python/pythonscanner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/python/pythonscanner.cpp')
-rw-r--r--src/plugins/python/pythonscanner.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/plugins/python/pythonscanner.cpp b/src/plugins/python/pythonscanner.cpp
index abb6251e15..79c4fa3082 100644
--- a/src/plugins/python/pythonscanner.cpp
+++ b/src/plugins/python/pythonscanner.cpp
@@ -98,6 +98,11 @@ FormatToken Scanner::onDefaultState()
return readComment();
}
+ if (first == '(' || first == '[' || first == '{')
+ return readBrace(true);
+ if (first == ')' || first == ']' || first == '}')
+ return readBrace(false);
+
if (first.isSpace())
return readWhiteSpace();
@@ -363,7 +368,7 @@ FormatToken Scanner::readWhiteSpace()
*/
FormatToken Scanner::readOperator()
{
- static const QString EXCLUDED_CHARS = "\'\"_#";
+ static const QString EXCLUDED_CHARS = "\'\"_#([{}])";
QChar ch = peek();
while (ch.isPunct() && !EXCLUDED_CHARS.contains(ch)) {
move();
@@ -372,6 +377,12 @@ FormatToken Scanner::readOperator()
return FormatToken(Format_Operator, anchor(), length());
}
+FormatToken Scanner::readBrace(bool isOpening)
+{
+ Format format = isOpening ? Format_LParen : Format_RParen;
+ return FormatToken(format, anchor(), length());
+}
+
void Scanner::clearState()
{
m_state = 0;