mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-11-26 18:30:45 +08: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
|
@ -27,19 +27,26 @@ zstyle -T ':completion:*:*:git:*' tag-order && \
|
||||||
zstyle -s ":completion:*:*:git:*" script script
|
zstyle -s ":completion:*:*:git:*" script script
|
||||||
if [ -z "$script" ]; then
|
if [ -z "$script" ]; then
|
||||||
local -a locations
|
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=(
|
locations=(
|
||||||
"$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash
|
"$(dirname ${funcsourcetrace[1]%:*})"/git-completion.bash
|
||||||
"$HOME/.local/share/bash-completion/completions/git"
|
"$HOME/.local/share/bash-completion/completions/git"
|
||||||
"$(pkg-config --variable=completionsdir bash-completion)"/git
|
"$bash_completion/git"
|
||||||
'/usr/share/bash-completion/completions/git'
|
|
||||||
'/etc/bash_completion.d/git' # old debian
|
'/etc/bash_completion.d/git' # old debian
|
||||||
)
|
)
|
||||||
for e in $locations; do
|
for e in $locations; do
|
||||||
test -f $e && script="$e" && break
|
test -f $e && script="$e" && break
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
local old_complete="$functions[complete]"
|
||||||
|
functions[complete]=:
|
||||||
GIT_SOURCING_ZSH_COMPLETION=y . "$script"
|
GIT_SOURCING_ZSH_COMPLETION=y . "$script"
|
||||||
|
functions[complete]="$old_complete"
|
||||||
|
|
||||||
__gitcomp ()
|
__gitcomp ()
|
||||||
{
|
{
|
||||||
|
@ -105,21 +112,6 @@ __gitcomp_nl ()
|
||||||
compadd -Q -S "${4- }" -p "${2-}" -- ${(f)1} && _ret=0
|
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 ()
|
__gitcomp_file ()
|
||||||
{
|
{
|
||||||
emulate -L zsh
|
emulate -L zsh
|
||||||
|
@ -127,6 +119,21 @@ __gitcomp_file ()
|
||||||
compadd -f -p "${2-}" -- ${(f)1} && _ret=0
|
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 ()
|
_git_zsh ()
|
||||||
{
|
{
|
||||||
__gitcomp "v1.0"
|
__gitcomp "v1.0"
|
||||||
|
|
|
@ -3585,7 +3585,6 @@ __git_func_wrap ()
|
||||||
# This is NOT a public function; use at your own risk.
|
# This is NOT a public function; use at your own risk.
|
||||||
__git_complete ()
|
__git_complete ()
|
||||||
{
|
{
|
||||||
test -n "$ZSH_VERSION" && return
|
|
||||||
local wrapper="__git_wrap${2}"
|
local wrapper="__git_wrap${2}"
|
||||||
eval "$wrapper () { __git_func_wrap $2 ; }"
|
eval "$wrapper () { __git_func_wrap $2 ; }"
|
||||||
complete -o bashdefault -o default -o nospace -F $wrapper $1 2>/dev/null \
|
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
|
case "$1" in
|
||||||
--list-cmds=*)
|
--list-cmds=*)
|
||||||
IFS=, read -r -a cmds <<< "${1##--list-cmds=}"
|
while read -r -d ',' x; do
|
||||||
for x in ${cmds[@]}; do
|
|
||||||
case "$x" in
|
case "$x" in
|
||||||
nohelpers)
|
nohelpers)
|
||||||
;;
|
;;
|
||||||
|
@ -3620,7 +3618,7 @@ if ! git --list-cmds=main >/dev/null 2>&1; then
|
||||||
echo ${__git_cmds[$x]}
|
echo ${__git_cmds[$x]}
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done <<< "${1##--list-cmds=},"
|
||||||
return
|
return
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
Loading…
Reference in New Issue
Block a user