Add configuration to specify macros.
Macros will be expanded, and the code will be parsed and annotated
in the expanded state. In a second step, the formatting decisions
in the annotated expanded code will be reconstructed onto the
original unexpanded macro call.
Eventually, this will allow to remove special-case code for
various macro options we accumulated over the years in favor of
one principled mechanism.
I find "try to match the structure of the expanded call" a bit hard to follow from a user perspective.
Maybe "Code will be parsed with macros expanded, in order to determine how to interpret and format the macro arguments"?