Re: [PATCH v4] git-completion.bash: add support for path completion
- From
John Keeping <john@keeping.me.uk>
- Date
- Jan 8, 2013, 18:05 UTC
- Message-ID
- <20130108180518.GO6440@serenity.lan>
- In-Reply-To
- <50EC5D41.6030209@gmail.com>
On Tue, Jan 08, 2013 at 06:54:09PM +0100, Manlio Perillo wrote:
Show 27 quoted lines
> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Il 05/01/2013 21:23, Marc Khouzam ha scritto: >> [...] >> 4- Completion choices include their entire path, which is not what bash does by default. For example: >>> cd git/contrib >>> ls completion/git-<tab> >> git-completion.bash git-completion.tcsh git-completion.zsh git-prompt.sh >> but >>> git rm completion/git-<tab> >> completion/git-completion.bash completion/git-completion.tcsh completion/git-completion.zsh completion/git-prompt.sh >> notice the extra 'completion/' before each completion. This can get pretty large when completing with >> many directory prefixes. The current tcsh completion has the same problem which I couldn't fix. However, I am >> not sure if it can be fixed for bash. >> >> I personally don't think this is regression, just an slight annoyance. >> > > After some searching, I found how this is supposed to be done. > It is possible to use the -o filenames option to tell Bash completion > that "the compspec generates filenames, so it can perform any > filename-specific processing". > > Unfortunately this option must be passed to the complete builtin > command, and we can not do this, since the comspec not always contains > filenames.
You should also be able to pass it to 'compopt' during completion in order to change the behaviour for only the current completion.
John