From 6281ca5e9c8ffd27ab2d1244ddcaa1a6f03afe0a Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Mon, 2 Mar 2015 10:35:13 +0000 Subject: [PATCH] clang-format: Prefer wrapping a lambda's body over the lambda's return type. Before: aaaaaaaaaaaaaaaaaaaaaa( [](aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &aaa) -> aaaaaaaaaaaaaaaaaaaaa { return aaaaaaaaaaaaaaaaa; }); After: aaaaaaaaaaaaaaaaaaaaaa( [](aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &aaa) -> aaaaaaaaaaaaaaaaaaaaa { return aaaaaaaaaaaaaaaaa; }); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@230942 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/TokenAnnotator.cpp | 2 ++ unittests/Format/FormatTest.cpp | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 853a56b6a4..1688568c7b 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -1535,6 +1535,8 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line, return Style.PenaltyReturnTypeOnItsOwnLine; return 200; } + if (Right.is(TT_TrailingReturnArrow)) + return 110; if (Left.is(tok::equal) && Right.is(tok::l_brace)) return 150; if (Left.is(TT_CastRParen)) diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index e76335621f..bfc601fb20 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -9537,6 +9537,12 @@ TEST_F(FormatTest, FormatsLambdas) { " int j) -> int {\n" " return ffffffffffffffffffffffffffffffffffffffffffff(i * j);\n" "};"); + verifyFormat( + "aaaaaaaaaaaaaaaaaaaaaa(\n" + " [](aaaaaaaaaaaaaaaaaaaaaaaaaaa &aaa) -> aaaaaaaaaaaaaaaa {\n" + " return aaaaaaaaaaaaaaaaa;\n" + " });", + getLLVMStyleWithColumns(70)); // Multiple lambdas in the same parentheses change indentation rules. verifyFormat("SomeFunction(\n" -- 2.40.0