diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2007-02-04 23:52:08 -0500 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-02-05 19:09:40 -0800 |
commit | 88293c675c0c15c8247de32e903f4302bac63027 (patch) | |
tree | dada0f3af171cca912c3fbb8f86a066821ea94a0 | |
parent | c5650b0840ef1630ab9e67e9e314fb73ca112cdc (diff) | |
download | git-88293c675c0c15c8247de32e903f4302bac63027.tar.gz git-88293c675c0c15c8247de32e903f4302bac63027.tar.xz |
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>
-rwxr-xr-x | contrib/completion/git-completion.bash | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index b0ff87d8d..eecdaa0e7 100755 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -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 () 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 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 |