mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-19 21:41:07 +01:00
gitfast: fetch latest fixes from git-completion (#9390)
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
This commit is contained in:
parent
bad9ee0004
commit
d055445625
2 changed files with 27 additions and 22 deletions
|
@ -27,19 +27,26 @@ zstyle -T ':completion:*:*:git:*' tag-order && \
|
|||
zstyle -s ":completion:*:*:git:*" script script
|
||||
if [ -z "$script" ]; then
|
||||
local -a locations
|
||||
local e
|
||||
local e bash_completion
|
||||
|
||||
bash_completion=$(pkg-config --variable=completionsdir bash-completion 2>/dev/null) ||
|
||||
bash_completion='/usr/share/bash-completion/completions/'
|
||||
|
||||
locations=(
|
||||
"$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash
|
||||
"$HOME/.local/share/bash-completion/completions/git"
|
||||
"$(pkg-config --variable=completionsdir bash-completion)"/git
|
||||
'/usr/share/bash-completion/completions/git'
|
||||
"$bash_completion/git"
|
||||
'/etc/bash_completion.d/git' # old debian
|
||||
)
|
||||
for e in $locations; do
|
||||
test -f $e && script="$e" && break
|
||||
done
|
||||
fi
|
||||
|
||||
local old_complete="$functions[complete]"
|
||||
functions[complete]=:
|
||||
GIT_SOURCING_ZSH_COMPLETION=y . "$script"
|
||||
functions[complete]="$old_complete"
|
||||
|
||||
__gitcomp ()
|
||||
{
|
||||
|
@ -105,21 +112,6 @@ __gitcomp_nl ()
|
|||
compadd -Q -S "${4- }" -p "${2-}" -- ${(f)1} && _ret=0
|
||||
}
|
||||
|
||||
__gitcomp_nl_append ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
compset -P '*[=:]'
|
||||
compadd -Q -S "${4- }" -p "${2-}" -- ${(f)1} && _ret=0
|
||||
}
|
||||
|
||||
__gitcomp_file_direct ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
||||
compadd -f -- ${(f)1} && _ret=0
|
||||
}
|
||||
|
||||
__gitcomp_file ()
|
||||
{
|
||||
emulate -L zsh
|
||||
|
@ -127,6 +119,21 @@ __gitcomp_file ()
|
|||
compadd -f -p "${2-}" -- ${(f)1} && _ret=0
|
||||
}
|
||||
|
||||
__gitcomp_direct_append ()
|
||||
{
|
||||
__gitcomp_direct "$@"
|
||||
}
|
||||
|
||||
__gitcomp_nl_append ()
|
||||
{
|
||||
__gitcomp_nl "$@"
|
||||
}
|
||||
|
||||
__gitcomp_file_direct ()
|
||||
{
|
||||
__gitcomp_file "$1" ""
|
||||
}
|
||||
|
||||
_git_zsh ()
|
||||
{
|
||||
__gitcomp "v1.0"
|
||||
|
|
|
@ -3585,7 +3585,6 @@ __git_func_wrap ()
|
|||
# This is NOT a public function; use at your own risk.
|
||||
__git_complete ()
|
||||
{
|
||||
test -n "$ZSH_VERSION" && return
|
||||
local wrapper="__git_wrap${2}"
|
||||
eval "$wrapper () { __git_func_wrap $2 ; }"
|
||||
complete -o bashdefault -o default -o nospace -F $wrapper $1 2>/dev/null \
|
||||
|
@ -3607,8 +3606,7 @@ if ! git --list-cmds=main >/dev/null 2>&1; then
|
|||
{
|
||||
case "$1" in
|
||||
--list-cmds=*)
|
||||
IFS=, read -r -a cmds <<< "${1##--list-cmds=}"
|
||||
for x in ${cmds[@]}; do
|
||||
while read -r -d ',' x; do
|
||||
case "$x" in
|
||||
nohelpers)
|
||||
;;
|
||||
|
@ -3620,7 +3618,7 @@ if ! git --list-cmds=main >/dev/null 2>&1; then
|
|||
echo ${__git_cmds[$x]}
|
||||
;;
|
||||
esac
|
||||
done
|
||||
done <<< "${1##--list-cmds=},"
|
||||
return
|
||||
;;
|
||||
esac
|
||||
|
|
Loading…
Reference in a new issue