aboutsummaryrefslogtreecommitdiff
path: root/contrib/completion
diff options
context:
space:
mode:
authorShawn O. Pearce <spearce@spearce.org>2007-08-23 01:50:49 -0400
committerShawn O. Pearce <spearce@spearce.org>2007-08-23 01:50:49 -0400
commitbe86f7a0dfa05dacb2ef512e99d1de576e77a633 (patch)
tree4a6103735abd83e628217f471ca3f99018b3212c /contrib/completion
parent217926c08cb634e3b5394ea15b3fe4520069260b (diff)
downloadgit-be86f7a0dfa05dacb2ef512e99d1de576e77a633.tar.gz
git-be86f7a0dfa05dacb2ef512e99d1de576e77a633.tar.xz
Teach bash about git-submodule and its subcommands
The git-submodule command is new in 1.5.3 and contains a number of useful subcommands for working on submodules. We usually try to offer the subcommands of a git command in the bash completion, so here they are for git-submodule. Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Diffstat (limited to 'contrib/completion')
-rwxr-xr-xcontrib/completion/git-completion.bash27
1 files changed, 27 insertions, 0 deletions
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 6ed6a51dc..a652c88b2 100755
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1024,6 +1024,31 @@ _git_stash ()
__gitcomp 'list show apply clear'
}
+_git_submodule ()
+{
+ local i c=1 command
+ while [ $c -lt $COMP_CWORD ]; do
+ i="${COMP_WORDS[c]}"
+ case "$i" in
+ add|status|init|update) command="$i"; break ;;
+ esac
+ c=$((++c))
+ done
+
+ if [ $c -eq $COMP_CWORD -a -z "$command" ]; then
+ local cur="${COMP_WORDS[COMP_CWORD]}"
+ case "$cur" in
+ --*)
+ __gitcomp "--quiet --cached"
+ ;;
+ *)
+ __gitcomp "add status init update"
+ ;;
+ esac
+ return
+ fi
+}
+
_git ()
{
local i c=1 command __git_dir
@@ -1090,6 +1115,7 @@ _git ()
show) _git_show ;;
show-branch) _git_log ;;
stash) _git_stash ;;
+ submodule) _git_submodule ;;
whatchanged) _git_log ;;
*) COMPREPLY=() ;;
esac
@@ -1138,6 +1164,7 @@ complete -o default -o nospace -F _git_reset git-reset
complete -o default -o nospace -F _git_shortlog git-shortlog
complete -o default -o nospace -F _git_show git-show
complete -o default -o nospace -F _git_stash git-stash
+complete -o default -o nospace -F _git_submodule git-submodule
complete -o default -o nospace -F _git_log git-show-branch
complete -o default -o nospace -F _git_log git-whatchanged