Ævar Arnfjörð Bjarmason <ava...@gmail.com> writes:

> On Sat, Dec 30 2017, Todd Zullinger jotted:
>
>> And I think that should also apply to
>> not offering completion for commands/subcommands/options
>> which are only kept for backward compatibility.
>
> Yeah I think it makes sense to at some point stop completing things if
> we're going to remove stuff, if we decide to remove it.
>
>> Here's one way to make 'git remote rm <TAB>' work without
>> including it in the output of 'git remote <TAB>':
>>
>> diff --git i/contrib/completion/git-completion.bash 
>> w/contrib/completion/git-completion.bash
>> index 3683c772c5..aa63f028ab 100644
>> --- i/contrib/completion/git-completion.bash
>> +++ w/contrib/completion/git-completion.bash
>> @@ -2668,7 +2668,9 @@ _git_remote ()
>>              add rename remove set-head set-branches
>>              get-url set-url show prune update
>>              "
>> -    local subcommand="$(__git_find_on_cmdline "$subcommands")"
>> +    # Don't advertise rm by including it in subcommands, but complete
>> +    # remotes if it is used.
>> +    local subcommand="$(__git_find_on_cmdline "$subcommands rm")"
>>      if [ -z "$subcommand" ]; then
>>              case "$cur" in
>>              --*)
>
> Neat!

Yes, indeed it is nice.


Reply via email to