*) pfx="$ref:$pfx" ;;
esac
- local IFS=$'\n'
- COMPREPLY=($(compgen -P "$pfx" \
- -W "$(git --git-dir="$(__gitdir)" ls-tree "$ls" \
+ __gitcomp_nl "$(git --git-dir="$(__gitdir)" ls-tree "$ls" \
| sed '/^100... blob /{
s,^.* ,,
s,$, ,
s,$,/,
}
s/^.* //')" \
- -- "$cur_"))
+ "$pfx" "$cur_" ""
;;
*...*)
pfx="${cur_%...*}..."
_git_log
}
- _git ()
+ _main_git ()
{
local i c=1 command __git_dir
fi
}
- _gitk ()
+ _main_gitk ()
{
__git_has_doubledash && return
|| complete -o default -o nospace -F $wrapper $1
}
- __git_complete git _git
- __git_complete gitk _gitk
+ # wrapper for backwards compatibility
+ _git ()
+ {
+ __git_wrap_main_git
+ }
+
+ # wrapper for backwards compatibility
+ _gitk ()
+ {
+ __git_wrap_main_gitk
+ }
+
+ __git_complete git _main_git
+ __git_complete gitk _main_gitk
# The following are necessary only for Cygwin, and only are needed
# when the user has tab-completed the executable name and consequently
# included the '.exe' suffix.
#
if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then
- __git_complete git.exe _git
+ __git_complete git.exe _main_git
fi