seesemichaelj added inline comments.
================
Comment at: include/clang/Format/Format.h:793
+  /// \endcode
+  bool DanglingParenthesis;
+
----------------
catskul wrote:
> stringham wrote:
> > djasper wrote:
> > > stringham wrote:
> > > > djasper wrote:
> > > > > I don't think this is a name that anyone will intuitively understand. 
> > > > > I understand that the naming is hard here. One thing I am wondering 
> > > > > is whether this might ever make sense unless AlignAfterOpenBracket is 
> > > > > set to AlwaysBreak?
> > > > > 
> > > > > Unless that option is set, we could have both in the same file:
> > > > > 
> > > > >   someFunction(aaaa,
> > > > >                bbbb);
> > > > > 
> > > > > and
> > > > > 
> > > > >   someFunction(
> > > > >       aaaa, bbbb
> > > > >   );
> > > > > 
> > > > > Is that intended, i.e. are you actively using that? Answering this is 
> > > > > important, because it influence whether or not we actually need to 
> > > > > add another style option and even how to implement this.
> > > > The name was based on the configuration option that scalafmt has for 
> > > > their automatic scala formatter, they also have an option to have the 
> > > > closing paren on its own line and they call it `danglingParentheses`. I 
> > > > don't love the name and am open to other options.
> > > > 
> > > > That's a good point about AlignAfterOpenBracket being set to 
> > > > AlwaysBreak. In our usage we have that option set, and I'm also unsure 
> > > > if it makes sense without AlwaysBreak.
> > > Hm. I am not sure either. What do you think of extending the 
> > > BracketAlignmentStyle enum with an AlwaysBreakWithDanglingParenthesis? Or 
> > > AlwaysBreakAndWrapRParen?
> > Sorry for the delay in the reply!
> > 
> > That seems like a reasonable solution to me. I believe the structure of the 
> > patch would be the same, just changing out the configuration option.
> > 
> > Can you point me to where I should look to figure out how to run the unit 
> > tests and let me know if there are other changes you would recommend 
> > besides updating configuration options?
> @djasper I made the changes to @stringham's diff to implement your request to 
> replace the `bool` with new item of `BracketAlignmentStyle` `enum`, and 
> wondered if it might be backing us into a corner. 
> 
> As strange as some of these may be I've seen a few similar to:
> 
> ```
> return_t myfunc(int x,
>                 int y,
>                 int z
>                 );
> ```
> ```
> return_t myfunc(int x,
>                 int somelongy,
>                 int z         );
> ```
> ```
> return_t myfunc(
>              int x,
>              int y,
>              int z
>          );
> ```
> and even my least favorite
> ```
> return_t myfunc(
>     int x,
>     int y,
>     int z
>                 );
> ```
> 
> Without advocating for supporting all such styles it would seem desireable to 
> avoid an NxM enum of two, at least theoretically, independent style 
> parameters. With that in mind should I instead create a different parameter 
> `AlignClosingBracket` with a respective `enum` which includes 
> `AfterFinalParameter` by default, and `NextLineWhenMultiline` to handle the 
> variations this diff was opened for?
> 
> On the other hand, I can just stick with adding a new variation to 
> `BracketAlignmentStyle` and deal with potential variations in the future if 
> they're requested.
> 
@catskul, are we waiting for a response from @djasper (or other maintainer) 
concerning your last question about whether or not to keep 
`BracketAligngmentStyle` or to use a new parameter `AlignClosingBracket` that 
you proposed? I'm just throwing my hand in the pile seeing what I can do to 
help push this issue towards landing without creating duplicate work (or just 
forking your code and compiling it for myself selfishly haha).

From what information I can gather, it sounds like you have a solution @catskul 
that meets the requested changes by @djasper, and if those changes are still 
desired provided your last comment here, a revision could be posted for review 
(after rebase, tests pass, etc).

Am I understanding correctly here?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D33029/new/

https://reviews.llvm.org/D33029

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to