summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcodeformatter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cppcodeformatter.cpp')
-rw-r--r--src/plugins/cpptools/cppcodeformatter.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/src/plugins/cpptools/cppcodeformatter.cpp b/src/plugins/cpptools/cppcodeformatter.cpp
index 4a355f6ffb..41e70725f7 100644
--- a/src/plugins/cpptools/cppcodeformatter.cpp
+++ b/src/plugins/cpptools/cppcodeformatter.cpp
@@ -1058,6 +1058,14 @@ int QtStyleCodeFormatter::loadLexerState(const QTextBlock &block) const
return BaseTextDocumentLayout::lexerState(block);
}
+void QtStyleCodeFormatter::addContinuationIndent(int *paddingDepth) const
+{
+ if (*paddingDepth == 0)
+ *paddingDepth = 2*m_tabSettings.m_indentSize;
+ else
+ *paddingDepth += m_tabSettings.m_indentSize;
+}
+
void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedIndentDepth, int *paddingDepth, int *savedPaddingDepth) const
{
const State &parentState = state();
@@ -1094,12 +1102,8 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd
case template_param:
if (!lastToken)
*paddingDepth = nextTokenPosition-*indentDepth;
- else {
- if (*paddingDepth == 0)
- *paddingDepth = 2*m_tabSettings.m_indentSize;
- else
- *paddingDepth += m_tabSettings.m_indentSize;
- }
+ else
+ addContinuationIndent(paddingDepth);
break;
case statement_with_condition:
@@ -1140,17 +1144,18 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd
case arglist_open:
case condition_paren_open:
+ case member_init_paren_open:
if (!lastToken)
*paddingDepth = nextTokenPosition-*indentDepth;
else
- *paddingDepth += m_tabSettings.m_indentSize;
+ addContinuationIndent(paddingDepth);
break;
case ternary_op:
if (!lastToken)
*paddingDepth = spaceOrNextTokenPosition-*indentDepth;
else
- *paddingDepth += m_tabSettings.m_indentSize;
+ addContinuationIndent(paddingDepth);
break;
case stream_op:
@@ -1175,10 +1180,6 @@ void QtStyleCodeFormatter::onEnter(int newState, int *indentDepth, int *savedInd
*paddingDepth += 2; // savedIndentDepth is the position of ':'
break;
- case member_init_paren_open:
- *paddingDepth += m_tabSettings.m_indentSize;
- break;
-
case case_cont:
if (m_styleSettings.indentStatementsRelativeToSwitchLabels)
*indentDepth += m_tabSettings.m_indentSize;