Re: [PATCH] Add __git_ps1_pc to use as PROMPT_COMMAND
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:54:54
Simon Oosthoek [off-list ref] writes:
It's possible to set PS1 to nothing and print a string from PROMPT_COMMAND, but then you miss out on all the features of the PS1 interpretation by bash and compared to the use of __git_ps1 at the moment, it has to put out quite a different string. Because if you like to see user@host+workdir (git-status)[$#] the current users of __git_ps1 say PS1="\u@host+\w $(__git_ps1 "%s")\$ ", but all __git+ps1 has to put out is "(branch)" or "(branch *)", etc. If it has to print the same prompt in PC mode, it has to add all the user/host/workdir/[$#] data as well, withouth being able to use the bash internal interpretation (because that is only working when PS1 is set).
The longer I read your explanation, the less useful the "PC mode"
sounds like, at least to me. So why does an user even want to use
such a mechanism, instead of PS1? And even if the user wants to use
it by doing \w, \u etc. himself, she can do that with
PROMPT_COMMAND='
PS1=$(printf "\u \h \w %s$ " $(__git_ps1 "%s"))
'
just fine, no?
So I still do not see the problem, even taking your "Set PS1 in the
command, without spitting anything out of the command" use case into
account.
Confused....