oleg.smolsky added a comment. In https://reviews.llvm.org/D52676#1251342, @krasimir wrote:
> Digging a bit further, seems like the behavior you're looking for could be > achieved by setting the `AlignAfterOpenBracket` option to `DontAlign` or > `AlwaysBreak`: > > % clang-format -style='{BasedOnStyle: google, AlignAfterOpenBracket: > AlwaysBreak}' test.cc > void f() { > something->Method2s( > 1, > [this] { > Do1(); > Do2(); > }, > 1); > } > % clang-format -style='{BasedOnStyle: google, AlignAfterOpenBracket: > DontAlign}' test.cc > void f() { > something->Method2s(1, > [this] { > Do1(); > Do2(); > }, > 1); > } > > Does this work for you? This is interesting. It obviously does what I want with the lambda, but forces this: void f() { auto stub = PopulateContextHereAndHereSomethi(GetSomethingHere(), GetSomethingElseHere()); } into this: void f() { auto stub = PopulateContextHereAndHereSomethi( GetSomethingHere(), GetSomethingElseHere()); } The former looks better to me and that's what Emacs does when you press Tab. I think people here at work will balk at this formatting... > I don't think modifying the behavior as posed in this change based on the > existence of multiline lambdas and the value of the `BinPackArguments` option > is better than what we have now, especially when > `AlignAfterOpenBracket=Align`. Yeah, I hear you. The patch is intended to work with `AlignAfterOpenBracket=Align` and `BinPackArguments=false` and only tweaks the lambdas' placement. How about I key the new behavior off a new value of `AlignAfterOpenBracket`, such as `AlignAfterOpenBracket=AlignExceptLambda`? Repository: rC Clang https://reviews.llvm.org/D52676 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits