Re: [PATCH] Add __git_ps1_pc to use as PROMPT_COMMAND
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Oct 1, 2012, 21:09 UTC
- Message-ID
- <7va9w5c31w.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <506A0366.6030009@xs4all.nl>
Simon Oosthoek <s.oosthoek@xs4all.nl> writes:
Show 11 quoted lines
> 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....