git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Simon Oosthoek <soosthoek@nieuwland.nl>
To: Ramkumar Ramachandra <artagnon@gmail.com>
Cc: "Shawn O. Pearce" <spearce@spearce.org>, git@vger.kernel.org
Subject: Re: bash completion with colour hints
Date: Wed, 26 Sep 2012 21:25:30 +0200	[thread overview]
Message-ID: <506356AA.3050005@nieuwland.nl> (raw)
In-Reply-To: <CALkWK0=9KKZvvNFoLUNRKWkfrqR7+RByYaWP9XXg7Pd3ym7CUQ@mail.gmail.com>

On 26/09/12 17:24, Ramkumar Ramachandra wrote:
> Hi Simon,
> 
> Could you follow the guidelines in Documentation/SubmittingPatches, so
> that the patch can be considered for inclusion?

Hi Ram, thanks for your feedback.

I gather now that this file is part of the entire git tree ;-)

this is my first time to submit a patch to git and frankly I coded this
up very quickly and did only a small test.

I read the guide and now I have some questions:

- It suggests to use the oldest commit that contains the "bug" and can
support the fix. This would be the very first mention of __git_ps1
function I think commit d3d717a4ad0c8d7329e79f7d0313baec57c6b585
However, I guess that although I have been using something similar since
about 2009, I should at least base it on the relatively new
git-prompt.sh file, is this a correct interpretation of the guide?
(BTW, I wonder how this will affect ultimately the current master?)

- I read that git-prompt.sh is meant to support bash and zsh, I have
only tested it on bash. Should I attempt to test it on zsh or is there a
kind person with zsh as his/her shell to test it for me?

My instinct is to just apply my patch to the current master, but I'm
open to starting from a different base, but I'm too new to the tree to
know which one, any suggestions?



> 
>> --- git-orig-bak	2012-09-26 16:39:47.000000000 +0200
>> +++ git-bashcompletion	2012-09-26 16:50:57.000000000 +0200
>> @@ -59,6 +59,9 @@
>>  #       per-repository basis by setting the bash.showUpstream config
>>  #       variable.
>>  #
>> +#       If you would like an additional hint in colour in your prompt
>> +#       set GIT_PS1_SHOWCOLORHINT to a nonempty value. Currently
>> +#       the colours are hardcoded in the function...
> 
> Nit: I think it's spelt "color" everywhere else in git.
> 

I can adapt ;-)

>> +		local c_red=' [31m'
>> +		local c_yellow=' [33m'
>> +		local c_lblue=' [1,34m'
>> +		local c_green=' [32m'
>> +		local c_purple=' [35m'
>> +		local c_cyan=' [36m'
>> +		local c_clear=' [0m'
>> +		local printf_format="${1:- (%s)}"
>> +
>> +		if [ -n "${GIT_PS1_SHOWCOLORHINT-}" ]; then
>> +			if [ "$w" != "*" ]; then
>> +				printf_format="$c_green$printf_format$c_clear"
>> +			else
>> +				printf_format="$c_red$printf_format$c_clear"
>> +			fi
>> +			if [ -n "$i" ]; then
>> +				i="$c_yellow$i$c_clear"
>> +			fi
>> +			if [ -n "$s" ]; then
>> +				s="$c_lblue$i$c_clear"
>> +			fi
>> +			if [ -n "$u" ]; then
>> +				u="$c_purple$i$c_clear"
>> +			fi
>> +		fi
>> +			
>>  		local f="$w$i$s$u"
>> -		printf "${1:- (%s)}" "$c${b##refs/heads/}${f:+ $f}$r$p"
>> +		echo $(printf "$printf_format" "$c${b##refs/heads/}${f:+ $f}$r$p")

I'm still in some doubt over this last line, including the color codes
is confusing me...

I'll go ahead and try some more polishing and whatever more comes as
suggestions. Is it ok to bother the list with intermediate stuff in this
thread?

Cheers

Simon

  reply	other threads:[~2012-09-26 19:26 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-09-26 15:00 bash completion with colour hints Simon Oosthoek
2012-09-26 15:24 ` Ramkumar Ramachandra
2012-09-26 19:25   ` Simon Oosthoek [this message]
2012-09-27  6:53     ` Junio C Hamano
2012-09-27  8:53       ` Michael J Gruber
2012-09-27  8:55         ` Michael J Gruber
2012-09-27  9:16         ` Simon Oosthoek
2012-09-27 10:05         ` Andreas Schwab
2012-09-27 11:57         ` Simon Oosthoek
2012-09-28 11:40         ` [PATCH] Add __git_ps1_pc to use as PROMPT_COMMAND Simon Oosthoek
2012-09-28 17:58           ` Junio C Hamano
2012-10-01  9:13             ` Simon Oosthoek
2012-10-01 17:16               ` Junio C Hamano
2012-10-01 18:42                 ` Simon Oosthoek
2012-10-01 19:13                 ` Junio C Hamano
2012-10-01 19:27                   ` Simon Oosthoek
2012-10-01 19:54                     ` Junio C Hamano
2012-10-01 20:56                       ` Simon Oosthoek
2012-10-01 21:09                         ` Junio C Hamano
2012-10-02  7:38                           ` Michael J Gruber
2012-10-02  8:01                             ` Simon Oosthoek
2012-10-02 17:01                             ` Junio C Hamano
2012-10-02 19:50                               ` Simon Oosthoek
2012-10-02 20:18                                 ` Junio C Hamano
2012-10-05 21:09                                   ` [PATCH 1/2] Allow __git_ps1 to be used in PROMPT_COMMAND Simon Oosthoek
2012-10-08 18:12                                     ` Junio C Hamano
2012-10-08 19:50                                       ` Simon Oosthoek
2012-10-08 21:17                                         ` Junio C Hamano
2012-10-10 19:31                                           ` Simon Oosthoek
2012-10-10 23:00                                             ` Junio C Hamano
2012-10-10 19:32                                           ` [PATCH 2/2] show color hints based on state of the git tree Simon Oosthoek
2012-10-10 19:37                                           ` [PATCH 1/2] Allow __git_ps1 to be used in PROMPT_COMMAND Simon Oosthoek
2012-10-10 19:38                                           ` [PATCH 2/2] show color hints based on state of the git tree Simon Oosthoek
2012-10-05 21:10                                   ` Simon Oosthoek
2012-10-15  8:23                                     ` Michael J Gruber
2012-10-15  9:01                                       ` Simon Oosthoek
2012-10-15  9:13                                         ` Michael J Gruber
2012-10-15 10:34                                           ` Simon Oosthoek
2012-10-15 13:20                                           ` Simon Oosthoek
2012-10-15 15:19                                             ` Michael J Gruber
     [not found]                                           ` <CAPc5daVUyAuznmrT+-yqvPR0gd38oiWmi2k+BFVV1s9ouMUt0Q@mail.gmail.com>
2012-10-15 15:15                                             ` Simon Oosthoek
2012-10-15 18:10                                               ` Junio C Hamano
2012-10-16  5:32                                                 ` [PATCH 3/3] Change colors to be based on git status -sb in color mode Simon Oosthoek
2012-10-16 15:58                                                   ` Junio C Hamano
2012-10-16 19:34                                                     ` Simon Oosthoek
2012-10-16 21:30                                                       ` Junio C Hamano
2012-10-16 22:04                                                         ` Junio C Hamano
2012-10-17  7:17                                                         ` Simon Oosthoek
2012-10-08 15:00                                   ` [PATCH] Add __git_ps1_pc to use as PROMPT_COMMAND Simon Oosthoek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=506356AA.3050005@nieuwland.nl \
    --to=soosthoek@nieuwland.nl \
    --cc=artagnon@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=spearce@spearce.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).