From: Jonathan Nieder <jrnieder@gmail.com>
To: Felipe Contreras <felipe.contreras@gmail.com>
Cc: git@vger.kernel.org, "SZEDER Gábor" <szeder@ira.uka.de>,
"Junio C Hamano" <gitster@pobox.com>,
"Thomas Rast" <trast@student.ethz.ch>,
"Jeff King" <peff@peff.net>
Subject: Re: [PATCH v2 4/4] completion: improve 'git --exec-path' completion
Date: Fri, 13 Apr 2012 13:04:36 -0500 [thread overview]
Message-ID: <20120413180436.GA2387@burratino> (raw)
In-Reply-To: <20120413060845.GA15610@burratino>
On Fri, Apr 13, 2012 at 01:08:45AM -0500, Jonathan Nieder wrote:
> Felipe Contreras wrote:
>> +++ b/contrib/completion/git-completion.bash
>> @@ -2638,7 +2638,7 @@ _git ()
>> --git-dir=
>> --bare
>> --version
>> - --exec-path
>> + --exec-path=
[...]
> Thanks.
>
> "git --exec-path" means to print the name of the directory where git
> stores its subcommands and other helpers. I have no thoughts either
> way about whether a user typing
>
> git --exec-p<TAB>
>
> is more likely to be asking for the current exec-path or intending to
> override it.
In other words, how about something like this? Tests left as an exercise
to the interested reader.
-- >8 --
Subject: completion: do not add trailing space when completing --exec-path
--exec-path looks like to the completion script like an unambiguous
successful completion script, but it is wrong. The user could be
trying to do
git --exec-path; # print name of helper directory
or
git --exec-path=/path/to/alternative/helper/dir <subcommand>
so the most helpful thing to do is to leave out the trailing space and
leave it to the operator to type an equal sign or carriage return
according to the situation.
Reported-by: Felipe Contreras <felipe.contreras@gmail.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
contrib/completion/git-completion.bash | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 31f714da..ecbf2172 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -307,12 +307,14 @@ __git_ps1 ()
# __gitcomp_1 requires 2 arguments
__gitcomp_1 ()
{
- local c IFS=' '$'\t'$'\n'
+ local c word IFS=' '$'\t'$'\n'
for c in $1; do
- case "$c$2" in
- --*=*) printf %s$'\n' "$c$2" ;;
- *.) printf %s$'\n' "$c$2" ;;
- *) printf %s$'\n' "$c$2 " ;;
+ word=$c$2
+ case $word in
+ --*=*) printf %s$'\n' "$word" ;;
+ *.) printf %s$'\n' "$word" ;;
+ *\$) printf %s$'\n' "${word%\$}" ;;
+ *) printf %s$'\n' "$word " ;;
esac
done
}
@@ -2638,7 +2640,7 @@ _git ()
--git-dir=
--bare
--version
- --exec-path
+ --exec-path\$
--html-path
--work-tree=
--namespace=
--
1.7.10
next prev parent reply other threads:[~2012-04-13 18:05 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-12 23:49 [PATCH v2 0/4] completion: trivial cleanups and fixes Felipe Contreras
2012-04-12 23:50 ` [PATCH v2 1/4] completion: simplify __gitcomp_1 Felipe Contreras
2012-04-12 23:50 ` [PATCH v2 2/4] completion: trivial simplification Felipe Contreras
2012-04-12 23:50 ` [PATCH v2 3/4] completion: add missing general options Felipe Contreras
2012-04-12 23:50 ` [PATCH v2 4/4] completion: improve 'git --exec-path' completion Felipe Contreras
2012-04-13 6:08 ` Jonathan Nieder
2012-04-13 18:04 ` Jonathan Nieder [this message]
2012-04-13 18:30 ` Jonathan Nieder
2012-04-13 23:35 ` Felipe Contreras
2012-04-13 23:37 ` Jonathan Nieder
2012-04-13 23:43 ` Felipe Contreras
2012-04-14 7:21 ` Andreas Schwab
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120413180436.GA2387@burratino \
--to=jrnieder@gmail.com \
--cc=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--cc=szeder@ira.uka.de \
--cc=trast@student.ethz.ch \
/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.
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 NNTP newsgroup(s).