Jeff King [off-list ref] writes:
Even better, we can hit a middle ground by abstracting away some of the
complexity.
The latter half of __git_ps1 is already fairly nice; w/i/s/u/c/p and
friends can serve as the basis of such an abstraction, even though r
does want to be separated further.
I tried the GIT_PS1_SHOW* variables several times, but every time I
did so, I eventually had to give up because I simply couldn't read
and/or remember what */+#/$/% line noises meant. If we had a custom
"collect these pieces and form the final presentation" mechanism, I
could easily replace these with mnemonic letters that can be more
easily memorable.