Merge branch 'fc/zsh-completion' into maint
* fc/zsh-completion: completion: simplify __gitcomp and __gitcomp_nl implementations completion: use ls -1 instead of rolling a loop to do that ourselves completion: work around zsh option propagation bug
This commit is contained in:
commit
014578e0d0
@ -495,11 +495,8 @@ fi
|
||||
# 4: A suffix to be appended to each possible completion word (optional).
|
||||
__gitcomp ()
|
||||
{
|
||||
local cur_="$cur"
|
||||
local cur_="${3-$cur}"
|
||||
|
||||
if [ $# -gt 2 ]; then
|
||||
cur_="$3"
|
||||
fi
|
||||
case "$cur_" in
|
||||
--*=)
|
||||
COMPREPLY=()
|
||||
@ -524,18 +521,8 @@ __gitcomp ()
|
||||
# appended.
|
||||
__gitcomp_nl ()
|
||||
{
|
||||
local s=$'\n' IFS=' '$'\t'$'\n'
|
||||
local cur_="$cur" suffix=" "
|
||||
|
||||
if [ $# -gt 2 ]; then
|
||||
cur_="$3"
|
||||
if [ $# -gt 3 ]; then
|
||||
suffix="$4"
|
||||
fi
|
||||
fi
|
||||
|
||||
IFS=$s
|
||||
COMPREPLY=($(compgen -P "${2-}" -S "$suffix" -W "$1" -- "$cur_"))
|
||||
local IFS=$'\n'
|
||||
COMPREPLY=($(compgen -P "${2-}" -S "${4- }" -W "$1" -- "${3-$cur}"))
|
||||
}
|
||||
|
||||
__git_heads ()
|
||||
@ -643,13 +630,8 @@ __git_refs_remotes ()
|
||||
|
||||
__git_remotes ()
|
||||
{
|
||||
local i ngoff IFS=$'\n' d="$(__gitdir)"
|
||||
__git_shopt -q nullglob || ngoff=1
|
||||
__git_shopt -s nullglob
|
||||
for i in "$d/remotes"/*; do
|
||||
echo ${i#$d/remotes/}
|
||||
done
|
||||
[ "$ngoff" ] && __git_shopt -u nullglob
|
||||
local i IFS=$'\n' d="$(__gitdir)"
|
||||
test -d "$d/remotes" && ls -1 "$d/remotes"
|
||||
for i in $(git --git-dir="$d" config --get-regexp 'remote\..*\.url' 2>/dev/null); do
|
||||
i="${i#remote.}"
|
||||
echo "${i/.url*/}"
|
||||
@ -676,7 +658,8 @@ __git_merge_strategies=
|
||||
# is needed.
|
||||
__git_compute_merge_strategies ()
|
||||
{
|
||||
: ${__git_merge_strategies:=$(__git_list_merge_strategies)}
|
||||
test -n "$__git_merge_strategies" ||
|
||||
__git_merge_strategies=$(__git_list_merge_strategies)
|
||||
}
|
||||
|
||||
__git_complete_revlist_file ()
|
||||
@ -854,7 +837,8 @@ __git_list_all_commands ()
|
||||
__git_all_commands=
|
||||
__git_compute_all_commands ()
|
||||
{
|
||||
: ${__git_all_commands:=$(__git_list_all_commands)}
|
||||
test -n "$__git_all_commands" ||
|
||||
__git_all_commands=$(__git_list_all_commands)
|
||||
}
|
||||
|
||||
__git_list_porcelain_commands ()
|
||||
@ -947,7 +931,8 @@ __git_porcelain_commands=
|
||||
__git_compute_porcelain_commands ()
|
||||
{
|
||||
__git_compute_all_commands
|
||||
: ${__git_porcelain_commands:=$(__git_list_porcelain_commands)}
|
||||
test -n "$__git_porcelain_commands" ||
|
||||
__git_porcelain_commands=$(__git_list_porcelain_commands)
|
||||
}
|
||||
|
||||
__git_pretty_aliases ()
|
||||
@ -2733,33 +2718,3 @@ if [ Cygwin = "$(uname -o 2>/dev/null)" ]; then
|
||||
complete -o bashdefault -o default -o nospace -F _git git.exe 2>/dev/null \
|
||||
|| complete -o default -o nospace -F _git git.exe
|
||||
fi
|
||||
|
||||
if [[ -n ${ZSH_VERSION-} ]]; then
|
||||
__git_shopt () {
|
||||
local option
|
||||
if [ $# -ne 2 ]; then
|
||||
echo "USAGE: $0 (-q|-s|-u) <option>" >&2
|
||||
return 1
|
||||
fi
|
||||
case "$2" in
|
||||
nullglob)
|
||||
option="$2"
|
||||
;;
|
||||
*)
|
||||
echo "$0: invalid option: $2" >&2
|
||||
return 1
|
||||
esac
|
||||
case "$1" in
|
||||
-q) setopt | grep -q "$option" ;;
|
||||
-u) unsetopt "$option" ;;
|
||||
-s) setopt "$option" ;;
|
||||
*)
|
||||
echo "$0: invalid flag: $1" >&2
|
||||
return 1
|
||||
esac
|
||||
}
|
||||
else
|
||||
__git_shopt () {
|
||||
shopt "$@"
|
||||
}
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user