Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
bash: Complete git-remote subcommands.
author
Shawn O. Pearce
<spearce@spearce.org>
Mon, 5 Feb 2007 04:52:08 +0000
(23:52 -0500)
committer
Junio C Hamano
<junkio@cox.net>
Tue, 6 Feb 2007 03:09:40 +0000
(19:09 -0800)
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>
contrib/completion/git-completion.bash
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
c5650b0
)
diff --git
a/contrib/completion/git-completion.bash
b/contrib/completion/git-completion.bash
index b0ff87d8d0a0afe04770611bd36b437520ef1dbb..eecdaa0e75a1873ca08dcfb8e57426cb73bd293a 100755
(executable)
--- 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]}"
_git_reset ()
{
local cur="${COMP_WORDS[COMP_CWORD]}"
@@
-934,6
+960,7
@@
_git ()
pull) _git_pull ;;
push) _git_push ;;
rebase) _git_rebase ;;
pull) _git_pull ;;
push) _git_push ;;
rebase) _git_rebase ;;
+ remote) _git_remote ;;
reset) _git_reset ;;
show) _git_show ;;
show-branch) _git_log ;;
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_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
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