Subject: Re: Add colors to the prompt for status indicators

From: Michael J Gruber <[email-masked]>
Date: Tue, 16 Nov 2010 11:43:09 +0100

Kevin Ballard venit, vidit, dixit 16.11.2010 10:07:
> On Nov 16, 2010, at 12:11 AM, Sebastien Douche wrote:
> 
>> On Tue, Nov 16, 2010 at 00:14, Kevin Ballard <[email-masked]> wrote:
>>> I take it back. We can use PROMPT_COMMAND for this, to set up variables
>>> containing what you want.
>>>
>>> Something like the following should work:
>>
>> Hi Kevin,
>> good job! I looked the git prompt and I'm a bit disappointed with the
>> combination, ps1 can show many items:
>>
>> #
>> %
>> +
>> *
>> $
>> REBASE-i|
>> REBASE-m|
>> MERGING|
>> BISECTING|
>> < > <> (or u+count u-count u+countu-count)
>>
>> Each item is "optional", so you can have REBASE-i| with * and +, or
>> only *. It seems to complicated to wrap all items (I think of the
>> verbose mode for upstream branches). Maybe coding a lua (or Python)
>> prompt with a config file.
> 
> In the end you need to stuff everything that needs a distinct color into its
> own shell variable. You could just extend the shell function that's doing that
> right now, or you could write a script in another language that emits a
> shell-quoted set of variables suitable for evaling by the shell.

Also, you should get away from parsing individual characters in
__git_ps1. Characters like + and - are valid in branch names. Coloring
them within the name is not quite intended.

I guess the only way is to produce colors within __git_ps1 (based on an
option). Also, colors would allow to use the same status letters as "git
status -s".

Michael