From: Daniel Jasper Date: Mon, 12 Jan 2015 10:23:24 +0000 (+0000) Subject: clang-format: Improve format of lambdas in ctor initializers. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f081f81b5354e46a6d6605302cf0e2685051ccd4;p=clang clang-format: Improve format of lambdas in ctor initializers. Before: Constructor() : Constructor([] { // comment int i; }) {} After: Constructor() : Constructor([] { // comment int i; }) {} git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@225625 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/ContinuationIndenter.cpp b/lib/Format/ContinuationIndenter.cpp index f05471e712..4cc92b02a9 100644 --- a/lib/Format/ContinuationIndenter.cpp +++ b/lib/Format/ContinuationIndenter.cpp @@ -632,6 +632,7 @@ unsigned ContinuationIndenter::moveStateToNextToken(LineState &State, // ^ line up here. State.Stack.back().Indent = State.Column + (Style.BreakConstructorInitializersBeforeComma ? 0 : 2); + State.Stack.back().NestedBlockIndent = State.Stack.back().Indent; if (Style.ConstructorInitializerAllOnOneLineOrOnePerLine) State.Stack.back().AvoidBinPacking = true; State.Stack.back().BreakBeforeParameter = false; diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index a49a35c1de..3bb55402e7 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -9380,6 +9380,10 @@ TEST_F(FormatTest, FormatsLambdas) { verifyFormat("string abc = SomeFunction(aaaaaaaaaaaaa, aaaaa, []() {\n" " SomeOtherFunctioooooooooooooooooooooooooon();\n" "});"); + verifyFormat("Constructor()\n" + " : Field([] { // comment\n" + " int i;\n" + " }) {}"); // Lambdas with return types. verifyFormat("int c = []() -> int { return 2; }();\n");