It was a bit too aggressive.
With this patch, we keep on breaking here:
aaaaaaaaaaaaa(aaaaaaa,
"aaaaaaa"
"bbbbbbb");
But don't break in:
aaaaaaaaaaaaa(aaaaaaa,
aaaaaaaa("aaaaaaa"
"bbbbbbb"));
llvm-svn: 240024
return false;
if (Style.AlwaysBreakBeforeMultilineStrings &&
- NewLineColumn == State.FirstIndent + Style.ContinuationIndentWidth &&
+ (NewLineColumn == State.FirstIndent + Style.ContinuationIndentWidth ||
+ Previous.is(tok::comma)) &&
!Previous.isOneOf(tok::kw_return, tok::lessless, tok::at) &&
!Previous.isOneOf(TT_InlineASMColon, TT_ConditionalExpr) &&
nextIsMultilineString(State))
verifyFormat("aaaa(qqq, \"bbbb\"\n"
" \"cccc\");",
NoBreak);
- verifyFormat("aaaa(qqq, \"bbbb\"\n"
- " \"cccc\");",
+ verifyFormat("aaaa(qqq,\n"
+ " \"bbbb\"\n"
+ " \"cccc\");",
+ Break);
+ verifyFormat("aaaa(qqq,\n"
+ " L\"bbbb\"\n"
+ " L\"cccc\");",
Break);
- verifyFormat("aaaa(qqq, L\"bbbb\"\n"
- " L\"cccc\");",
+ verifyFormat("aaaaa(aaaaaa, aaaaaaa(\"aaaa\"\n"
+ " \"bbbb\"));",
Break);
// As we break before unary operators, breaking right after them is bad.