<div dir="ltr">Thanks for the help.  I had been trying to allow canBreakBefore to allow the ')' and the '{' to split but it wasn't working very well.  I'll give the LineJoiner a try instead.<div><br></div><div>In terms of an option I'm wondering what values <span style="font-size:16px">UseBraceStyleForOneLiners would take?  Is it true/false where false implies always breaking and true is whatever the style does by default?  Perhaps AllowBraceOnWrappedLine?</span></div><div><br></div><div>I don't want to tackle all the various styles Dominique mentioned though they are interesting.  <br></div><div><br></div><div>Matt</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 26, 2015 at 1:50 AM, Daniel Jasper <span dir="ltr"><<a href="mailto:djasper@google.com" target="_blank">djasper@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">This doesn't work yet.<div><br></div><div>To get this addressed, there are basically three somewhat distinct tasks:</div><div>1) Come up with a way to configure this. I am not yet sure how best to do that as the decision is somewhat independent of BreakBeforeBraces. I am thinking we might want an additional option UseBraceStyleForOneLiners or something. On the other hand, not all combinations make sense (the flag would be ineffective for BS_Attach). Maybe somebody else has an idea?</div><div><br></div><div>2) Write tests in unittests/Format/FormatTest.cpp. There are already plenty of tests concerning the brace style and we probably want to verify that if the configuration is set accordingly, we do the right thing for one-liners as well as wrapped statements. And that for if/for/while/switch/function/class/...</div><div><br></div><div>3) Implement the behavior. I think the easiest way to achieve this might be to use the LineJoiner (lib/Format/UnwrappedLineFormatter.cpp) and allow it to merge the "{" back to the previous line if both fit into the ColumnLimit.</div><div><br></div><div><br></div><div>Personal note: I find that style very distracting ;-).</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="h5">On Sat, Jan 24, 2015 at 7:33 AM, Matt Liberty <span dir="ltr"><<a href="mailto:matt.liberty@gmail.com" target="_blank">matt.liberty@gmail.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Hi<div><br></div><div>I like to keep the { on the same line when wrapping isn't required, eg</div><div><br></div>for (a; b; c) {<br>    d;<br>}<div><br></div><div>but I don't like it on the same line when wrapped:</div><br>for (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;<br>     cccccccccccccccccccccccccccccc) {<br>    dddddddddddddddddddddddddddddd;<br>}<div><br></div><div>I find it hard to distinguish the scope quickly as the c's and d's nearly align.  I find:</div><div><br></div><div>for (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa; bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;<br>     cccccccccccccccccccccccccccccc)</div><div>{<br>    dddddddddddddddddddddddddddddd;<br>}<br></div><div><br></div><div>preferable in this case.  I can't find a why to selectively have the { positioned.  BreakBeforeBraces in Allman style doesn't support the single line case and the others don't support the later case.  </div><div><br></div><div>Is there a way to make work?  If not I'm glad to work on coding a solution but would appreciate some pointers.</div><div><br></div><div>Thanks,</div><div>Matt</div></div>
<br></div></div>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@cs.uiuc.edu" target="_blank">cfe-dev@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>