Code

Teach bash how to complete git-cherry-pick.
authorShawn O. Pearce <spearce@spearce.org>
Mon, 27 Nov 2006 08:41:59 +0000 (03:41 -0500)
committerJunio C Hamano <junkio@cox.net>
Mon, 27 Nov 2006 20:10:50 +0000 (12:10 -0800)
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
contrib/completion/git-completion.bash

index dfdc3968b8a2da1bc3db5d8a586c95e0ea0026a0..5582561acde763edb13e30e265be27e73258af9d 100755 (executable)
@@ -269,6 +269,21 @@ _git_checkout ()
        COMPREPLY=($(compgen -W "-l -b $(__git_refs)" -- "$cur"))
 }
 
+_git_cherry_pick ()
+{
+       local cur="${COMP_WORDS[COMP_CWORD]}"
+       case "$cur" in
+       --*)
+               COMPREPLY=($(compgen -W "
+                       --edit --no-commit
+                       " -- "$cur"))
+               ;;
+       *)
+               COMPREPLY=($(compgen -W "$(__git_refs)" -- "$cur"))
+               ;;
+       esac
+}
+
 _git_diff ()
 {
        __git_complete_file
@@ -472,6 +487,7 @@ _git ()
        branch)      _git_branch ;;
        cat-file)    _git_cat_file ;;
        checkout)    _git_checkout ;;
+       cherry-pick) _git_cherry_pick ;;
        diff)        _git_diff ;;
        diff-tree)   _git_diff_tree ;;
        fetch)       _git_fetch ;;
@@ -503,6 +519,7 @@ complete -o default            -F _gitk gitk
 complete -o default            -F _git_branch git-branch
 complete -o default -o nospace -F _git_cat_file git-cat-file
 complete -o default            -F _git_checkout git-checkout
+complete -o default            -F _git_cherry_pick git-cherry-pick
 complete -o default -o nospace -F _git_diff git-diff
 complete -o default            -F _git_diff_tree git-diff-tree
 complete -o default -o nospace -F _git_fetch git-fetch