CppTools: Fix indentation of stream operators after string

Task-number: QTCREATORBUG-12053
Change-Id: Ia34165d860bd7fd371a84a8349bed7a3fe1c01a9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
Orgad Shaneh
2014-05-16 09:10:40 +03:00
committed by Orgad Shaneh
parent 60c4235bec
commit 904a1d78f4
2 changed files with 20 additions and 10 deletions

View File

@@ -1437,8 +1437,7 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd
break;
case string_open:
*indentDepth = tokenPosition;
*paddingDepth = 0;
*paddingDepth = tokenPosition - *indentDepth;
break;
}
@@ -1467,16 +1466,25 @@ void QtStyleCodeFormatter::adjustIndent(const QList<CPlusPlus::Token> &tokens, i
// adjusting the indentDepth here instead of in enter() gives 'else if' the correct indentation
// ### could be moved?
if (topState.type == substatement)
switch (topState.type) {
case substatement:
*indentDepth += m_tabSettings.m_indentSize;
break;
// keep user-adjusted indent in multiline comments
if (topState.type == multiline_comment_start
|| topState.type == multiline_comment_cont) {
case multiline_comment_start:
case multiline_comment_cont:
if (!tokens.isEmpty()) {
*indentDepth = column(tokens.at(0).bytesBegin());
return;
}
break;
case string_open:
if (!tokenAt(0).isStringLiteral()) {
*paddingDepth = topState.savedPaddingDepth;
topState = previousState;
previousState = state(2);
}
break;
}
const int kind = tokenAt(0).kind();