Browse Source

bash: Complete git-remote subcommands.

Completing the 3 core subcommands to git-remote, along with the
names of remotes for 'show' and 'prune' (which take only existing
remotes) is handy.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Shawn O. Pearce 18 years ago committed by Junio C Hamano
parent
commit
88293c675c
  1. 28
      contrib/completion/git-completion.bash

28
contrib/completion/git-completion.bash

@ -852,6 +852,32 @@ _git_config () @@ -852,6 +852,32 @@ _git_config ()
"
}

_git_remote ()
{
local i c=1 command
while [ $c -lt $COMP_CWORD ]; do
i="${COMP_WORDS[c]}"
case "$i" in
add|show|prune) command="$i"; break ;;
esac
c=$((++c))
done

if [ $c -eq $COMP_CWORD -a -z "$command" ]; then
__gitcomp "add show prune"
return
fi

case "$command" in
show|prune)
__gitcomp "$(__git_remotes)"
;;
*)
COMPREPLY=()
;;
esac
}

_git_reset ()
{
local cur="${COMP_WORDS[COMP_CWORD]}"
@ -934,6 +960,7 @@ _git () @@ -934,6 +960,7 @@ _git ()
pull) _git_pull ;;
push) _git_push ;;
rebase) _git_rebase ;;
remote) _git_remote ;;
reset) _git_reset ;;
show) _git_show ;;
show-branch) _git_log ;;
@ -979,6 +1006,7 @@ complete -o default -o nospace -F _git_pull git-pull @@ -979,6 +1006,7 @@ complete -o default -o nospace -F _git_pull git-pull
complete -o default -o nospace -F _git_push git-push
complete -o default -o nospace -F _git_rebase git-rebase
complete -o default -o nospace -F _git_config git-config
complete -o default -o nospace -F _git_remote git-remote
complete -o default -o nospace -F _git_reset git-reset
complete -o default -o nospace -F _git_show git-show
complete -o default -o nospace -F _git_log git-show-branch

Loading…
Cancel
Save