clang-format: placement of cv-qualifiers

Hi, Clang Developers!

It would be extremely useful for me if clang-format could take care of the placement of the cv-qualifier in cv-qualified types. What I mean is that I would like to use clang-format to enforce a convention to put cv-qualifiers on the left side of a type, i.e. write

   T const, T const*, T const* const

instead of

   const T, const T*, const T* const

I'm thinking of an option like

   CVQualifier: left

to enforce "T const" etc.,

   CVQualifier: right

to enforce "const T" etc., and

   CVQualifier: none

to not enforce either and leave cv-qualifiers where they are.

I was wondering if any work in that direction has been done already. I can't find anything. Also, if anyone has some helpful ideas/pointers, I'd be very grateful. I've only spend a few hours dabbling with clang refactoring, so it'll take me some amount of time to understand how this could be implemented. Time well invested, I guess, but still, if someone has some ideas, please do tell!

Thanks everyone!

This is probably more of a job for clang-tidy rather than clang-format. The places where clang-format does anything more than modify whitespace (as is the case here - reordering tokens) are pretty carefully selected. Whereas clang-tidy is intended for all sorts of non-whitespace changes, including the sort of thing you’ve described here.

I don’t think I’ve heard of anyone working on something like this.