diff options
author | Christian Stenger <christian.stenger@qt.io> | 2020-07-03 14:14:05 +0200 |
---|---|---|
committer | Christian Stenger <christian.stenger@qt.io> | 2020-07-07 05:11:11 +0000 |
commit | c7bc8a98ac300aeff854bdbbae260cf9fc440a73 (patch) | |
tree | 80389d0eb8cdbdeb84f7e8dad480cf370fb9519f /src/plugins/python/pythonscanner.cpp | |
parent | f5d9091f56246710a48746ea96a68951b3332812 (diff) | |
download | qt-creator-c7bc8a98ac300aeff854bdbbae260cf9fc440a73.tar.gz |
Python: Fix highlighting of parentheses
This enables the PythonEditor to handle (un)matching
parentheses correctly.
Change-Id: I31516a5fee922de6b3cfc2254b209739bc42c540
Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/plugins/python/pythonscanner.cpp')
-rw-r--r-- | src/plugins/python/pythonscanner.cpp | 13 |
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; |