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();
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:
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:
break;
case member_init_paren_open:
- *paddingDepth += m_tabSettings.m_indentSize;
+ addContinuationIndent(paddingDepth);
break;
case case_cont:
void preprocessorContinuation();
void cStyleComments();
void cppStyleComments();
- void expressionContinuation();
+ void expressionContinuation1();
+ void expressionContinuation2();
void assignContinuation1();
void assignContinuation2();
+ void declarationContinuation();
void classAccess();
void ternary();
void objcAtDeclarations();
checkIndent(data);
}
-void tst_CodeFormatter::expressionContinuation()
+void tst_CodeFormatter::expressionContinuation1()
{
QList<Line> data;
data << Line("void foo() {")
<< Line(" ~ foo - blah(1)")
<< Line(" ~ << '?'")
<< Line(" ~ << \"\\n\";")
- << Line(" i += foo(")
+ << Line("}")
+ ;
+ checkIndent(data);
+}
+
+void tst_CodeFormatter::expressionContinuation2()
+{
+ QList<Line> data;
+ data << Line("void foo() {")
+ << Line(" i += abc +")
+ << Line(" ~ foo(,")
<< Line(" ~ bar,")
- << Line(" ~ 2);")
+ << Line(" ~ 2")
+ << Line(" ~ );")
+ << Line(" i += abc +")
+ << Line(" ~ foo(,")
+ << Line(" ~ bar(")
+ << Line(" ~ bar,")
+ << Line(" ~ 2")
+ << Line(" ~ ),")
+ << Line(" ~ abc);")
<< Line("}")
;
checkIndent(data);
checkIndent(data, style);
}
+void tst_CodeFormatter::declarationContinuation()
+{
+ QList<Line> data;
+ data << Line("void foo(")
+ << Line("~ int a,")
+ << Line("~ int b);")
+ << Line("void foo(int a,")
+ << Line("~ int b);")
+ ;
+ checkIndent(data);
+}
+
void tst_CodeFormatter::classAccess()
{
QList<Line> data;