bash: Complete long options to git-add.

The new --interactive mode of git-add can be very useful, so users
will probably want to have completion for it.

Likewise the new git-add--interactive executable is actually a
plumbing command.  Its invoked by `git add --interactive` and is
not intended to be invoked directly by the user.  Therefore we
should hide it from the list of available Git commands.

Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Shawn O. Pearce 2007-02-04 02:38:23 -05:00 committed by Junio C Hamano
parent 2e3a430a9a
commit 8435b54848

View file

@ -235,6 +235,7 @@ __git_commands ()
for i in $(git help -a|egrep '^ ')
do
case $i in
add--interactive) : plumbing;;
cat-file) : plumbing;;
check-ref-format) : plumbing;;
commit-tree) : plumbing;;
@ -358,6 +359,19 @@ _git_apply ()
COMPREPLY=()
}
_git_add ()
{
local cur="${COMP_WORDS[COMP_CWORD]}"
case "$cur" in
--*)
COMPREPLY=($(compgen -W "
--interactive
" -- "$cur"))
return
esac
COMPREPLY=()
}
_git_branch ()
{
local cur="${COMP_WORDS[COMP_CWORD]}"
@ -786,6 +800,7 @@ _git ()
case "$command" in
am) _git_am ;;
add) _git_add ;;
apply) _git_apply ;;
branch) _git_branch ;;
checkout) _git_checkout ;;
@ -852,6 +867,7 @@ complete -o default -o nospace -F _git_log git-whatchanged
# included the '.exe' suffix.
#
if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then
complete -o default -F _git_add git-add.exe
complete -o default -F _git_apply git-apply.exe
complete -o default -o nospace -F _git git.exe
complete -o default -F _git_branch git-branch.exe