From: Simon Oosthoek Date: Mon, 01 Oct 2012 09:13:50 GMT Subject: Re: [PATCH] Add __git_ps1_pc to use as PROMPT_COMMAND Message-ID: <50695ECE.5010101@nieuwland.nl> In-Reply-To: <7vipaym3ks.fsf@alter.siamese.dyndns.org> On 09/28/2012 07:58 PM, Junio C Hamano wrote: > Simon Oosthoek writes: > >> +# __git_ps1_pc accepts 0 arguments (for now) >> +# It is meant to be used as PROMPT_COMMAND, it sets PS1 >> +__git_ps1_pc () >> +{ >> + local g="$(__gitdir)" >> + if [ -n "$g" ]; then >> +... >> + fi >> +} > > This looks awfully similar to the existing code in __git_ps1 > function. Without refactoring to share the logic between them, it > won't be maintainable. > I agree that it's ugly. How about the following: I modified __git_ps1 to work both in PROMPT_COMMAND mode and in that mode support color hints. This way there's one function, so no overlap. Shall I send patches for the two changes separately (to support PROMPT_COMMAND mode and another to support color hints) or in one? And what about zsh support? I doubt the PROMPT_COMMAND thing is compatible with zsh, but the command substitution mode should probably work, unless it is already broken by the use of % to indicate untracked files (when GIT_PS1_SHOWUNTRACKEDFILES is set). Unless it is tested further in zsh, I'd say it might be better not to claim zsh is supported. Cheers Simon