ZheNing Hu <adlternative@xxxxxxxxx> writes: > My current thinking is this: > > First add a new member `short_name` in `struct valid_atom`, > Then we can share a valid_atom item for the long name of > an atom such as `%(authoremail)` and the short name of > the atom `%ae` (%aE is not considered at the time). > Something like: > > [ATOM_AUTHOREMAIL] = { "ae", "authoremail", SOURCE_OBJ, FIELD_STR, > person_email_atom_parser }, My assumption has always been that when enriching "--format" of the "log" family (e.g. "status", "show") with ingredients from the "for-each-ref" family (e.g. "branch", "tag"), we would adopt the notation the latter uses, i.e. "git log --format='%s %(notes)'", with the full intention that eventually users would choose between the synonyms to make it "git log --format='%(subject) %(notes)'" for consistency, without wasting brain cycles to come up with and to remember two-letter shorthands that will not scale.