This patch makes ContinuationIndenter call breakProtrudingToken only if
NoLineBreak and NoLineBreakInOperand is false.
Previously, clang-format required two runs to converge on the following example with 24 columns:
Note that the second operand shouldn't be splitted according to NoLineBreakInOperand, but the
token breaker doesn't take that into account:
func(a, "long long long long", c);
After first run:
func(a, "long long "
"long long",
c);After second run, where NoLineBreakInOperand is taken into account:
func(a,
"long long "
"long long",
c);With the patch, clang-format now obtains in one run:
func(a,
"long long long"
"long",
c);which is a better token split overall.