Re: Add colors to the prompt for status indicators
- From
Michael J Gruber <git@drmicha.warpmail.net>
- Date
- Nov 16, 2010, 10:43 UTC
- Message-ID
- <4CE2603D.8080209@drmicha.warpmail.net>
- In-Reply-To
- <C43669C9-CD42-4D51-BFB9-567AAA422C06@sb.org>
Kevin Ballard venit, vidit, dixit 16.11.2010 10:07:
Show 32 quoted lines
> On Nov 16, 2010, at 12:11 AM, Sebastien Douche wrote: > >> On Tue, Nov 16, 2010 at 00:14, Kevin Ballard <kevin@sb.org> 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