Browse Source

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>
maint
Shawn O. Pearce 18 years ago committed by Junio C Hamano
parent
commit
8435b54848
  1. 16
      contrib/completion/git-completion.bash

16
contrib/completion/git-completion.bash

@ -235,6 +235,7 @@ __git_commands () @@ -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 () @@ -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 () @@ -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 @@ -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

Loading…
Cancel
Save