================ @@ -5598,10 +5598,34 @@ bool TokenAnnotator::mustBreakBefore(const AnnotatedLine &Line, // FIXME: Breaking after newlines seems useful in general. Turn this into an // option and recognize more cases like endl etc, and break independent of // what comes after operator lessless. - if (Right.is(tok::lessless) && Right.Next && - Right.Next->is(tok::string_literal) && Left.is(tok::string_literal) && - Left.TokenText.ends_with("\\n\"")) { - return true; + if (Style.BreakChevronOperator == FormatStyle::BCOS_BetweenStrings) { + if (Right.is(tok::lessless) && Right.Next && Left.is(tok::string_literal) && + Right.Next->is(tok::string_literal)) { + return true; + } + } + if (Style.BreakChevronOperator == FormatStyle::BCOS_BetweenNewlineStrings) { + if (Right.is(tok::lessless) && Right.Next && + Right.Next->is(tok::string_literal) && Left.is(tok::string_literal) && + Left.TokenText.ends_with("\\n\"")) { + return true; + } + } + if (Style.BreakChevronOperator == FormatStyle::BCOS_Always) { + // can be std::os or os + auto *FirstChevron = Right.Previous; + while (FirstChevron) { ---------------- HazardyKnusperkeks wrote:
Is there a test case which utilizes this loop? https://github.com/llvm/llvm-project/pull/88490 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits