forked from qt-creator/qt-creator
Fix highlighting of C/C++ line continuation backslashes
The backslash itself is not a token, so we must make sure to only format
the trailing whitespace characters as visual whitespace, instead of
everything trailing.
Broke in a92694596e
Task-number: QTCREATORBUG-987
Change-Id: I4e9e84d29513ea317d7e3bde6c6b4c43749cb649
Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -477,15 +477,15 @@ void SyntaxHighlighter::setFormat(int start, int count, const QFont &font)
|
||||
setFormat(start, count, format);
|
||||
}
|
||||
|
||||
void SyntaxHighlighter::formatSpaces(const QString &text)
|
||||
void SyntaxHighlighter::formatSpaces(const QString &text, int start, int count)
|
||||
{
|
||||
Q_D(const SyntaxHighlighter);
|
||||
int offset = 0;
|
||||
const int length = text.length();
|
||||
while (offset < length) {
|
||||
int offset = start;
|
||||
const int end = std::min(start + count, text.length());
|
||||
while (offset < end) {
|
||||
if (text.at(offset).isSpace()) {
|
||||
int start = offset++;
|
||||
while (offset < length && text.at(offset).isSpace())
|
||||
while (offset < end && text.at(offset).isSpace())
|
||||
++offset;
|
||||
setFormat(start, offset - start, d->whitespaceFormat);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user