[PATCH] D119599: Add option to align compound assignments like `+=`

sstwcw via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sat Feb 12 14:08:54 PST 2022


sstwcw added inline comments.


================
Comment at: clang/include/clang/Format/Format.h:157
+  ///   a   &= 2;
+  ///   bbb  = 2;
+  ///
----------------
HazardyKnusperkeks wrote:
> sstwcw wrote:
> > HazardyKnusperkeks wrote:
> > > curdeius wrote:
> > > > I guess it would be complicated to avoid adding an additional space here. I mean, it could be:
> > > > ```
> > > > a  &= 2;
> > > > bbb = 2;
> > > > ```
> > > > And with 3-char operators, there's one more space.
> > > That would be awesome, but it should be an option to turn off or on.
> > > But I think this would really be complicated.
> > I can do it either way. But I thought without the extra space the formatted code looked ugly, especially when mixing `>>=` and `=`.  Which way do you prefer?
> > 
> > 
> > ```
> > a >>= 2;
> > bbb = 2;
> > ```
> I would prefer an option, to be able to do both.
> I think I would use the variant which is more compact, but can't say for sure until I really have the option and tried it.
You mean like a new entry under `AlignConsecutiveStyle` with the options to align the left ends of the operators and to align the equal sign with and without padding them to the same length? I don't want the new option to be merged with `AlignCompound`, because we are working on adding support for a language that uses both `=` and `<=` for regular assignments, and maybe someone will want to support a language that has both `=` and `:=` in the future.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D119599



More information about the cfe-commits mailing list