git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Uwe Kleine-König" <Uwe.Kleine-Koenig@digi.com>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: Junio C Hamano <gitster@pobox.com>, <git@vger.kernel.org>
Subject: Re: bash completion only provides revs, not paths
Date: Wed, 23 Apr 2008 07:56:37 +0200	[thread overview]
Message-ID: <20080423055637.GA25446@digi.com> (raw)
In-Reply-To: <20080423015236.GM29771@spearce.org>

Hello Shawn,

Shawn O. Pearce wrote:
> Uwe Kleine-Knig <Uwe.Kleine-Koenig@digi.com> wrote:
> > currently autocompletion in 
> > 
> > 	ukleinek@zentaur:~/gsrc/linux-2.6 git log ar<tab>
> > 
> > only yields "armltd/" (i.e. the prefix of some remote tracking branches)
> > but most of the time I want it to complete to "arch/".
> 
> Right.  It favors refs over paths.  Why?  Because I complete refs
> more than I complete paths.
>  
> > I don't understand that autocompletion stuff, but probably to fix that
> > several __git_complete_revlist should be replaced by a
> > __git_complete_revlist_or_path.  The harder part is to implement the
> > latter function.  An optimal implementation would only give back paths
> > if there is a "--" somewhere before the cursor.
> 
> Its ugly, but if we only do path name completion after a -- then
> we can just return "" as the options to bash, and it will go off
> and do the path name completion itself.  If we do path names and
> and refs at the same time, that's a disaster waiting to happen.
> We would have to do the path name completion ourselves.
I thought compgen can be used for that:

	ukleinek@zentaur:~/gsrc/linux-2.6$ compgen -f ar
	arch

> How is this?
I like it and have already applied it.
 
> --8<--
> bash completion: Completely only path names after -- in options
> 
> If the user has inserted a -- before the current argument we are
> being asked to complete they are most likely trying to force Git into
> treating this argument as a path name, and not as a ref.  We should
> allow bash to complete it as a path from the local working directory.
> 
> Suggested-by: Uwe Kleine-Knig <Uwe.Kleine-Koenig@digi.com>
There is a letter missing in my name.  I wonder why it's always the only
non-ascii one :-)

Best regards and thanks,
Uwe

-- 
Uwe Kleine-König, Software Engineer
Digi International GmbH Branch Breisach, Küferstrasse 8, 79206 Breisach, Germany
Tax: 315/5781/0242 / VAT: DE153662976 / Reg. Amtsgericht Dortmund HRB 13962

  reply	other threads:[~2008-04-23  6:05 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-22 11:21 bash completion only provides revs, not paths Uwe Kleine-König
2008-04-23  1:52 ` Shawn O. Pearce
2008-04-23  5:56   ` Uwe Kleine-König [this message]
2008-04-24  1:21     ` [PATCH] " Shawn O. Pearce
2008-04-24  5:52       ` Uwe Kleine-König

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=20080423055637.GA25446@digi.com \
    --to=uwe.kleine-koenig@digi.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --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.
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).