mirror of
git://git.code.sf.net/p/zsh/code
synced 2025-09-28 06:30:57 +02:00
zsh-workers/9773
This commit is contained in:
parent
0e3f4cecde
commit
8ac5e93d9e
5 changed files with 14 additions and 29 deletions
|
@ -109,7 +109,8 @@ while true; do
|
|||
PREFIX="${cpre}${pre}"
|
||||
SUFFIX="$suf"
|
||||
|
||||
if [[ $#imm -ne 0 && $#matches -eq 1 ]]; then
|
||||
if [[ $#imm -ne 0 && $#matches -eq 1 ]] ||
|
||||
zstyle -t ":completion:${curcontext}:" expand suffix; then
|
||||
compadd "$group[@]" "$expl[@]" "$opts[@]" \
|
||||
-M "r:|${sep}=* r:|=* $match" - "$pref$matches[1]"
|
||||
else
|
||||
|
@ -142,7 +143,8 @@ while true; do
|
|||
SUFFIX="$suf"
|
||||
fi
|
||||
|
||||
if [[ -n "$menu" || -z "$compstate[insert]" ]]; then
|
||||
if ! zstyle -t ":completion:${curcontext}:" expand suffix ||
|
||||
[[ -n "$menu" || -z "$compstate[insert]" ]]; then
|
||||
|
||||
# With menucompletion we add only the ambiguous component with
|
||||
# the prefix collected and a spearator for the matches that
|
||||
|
@ -164,22 +166,6 @@ while true; do
|
|||
-M "r:|${sep}=* r:|=* $match" - "$i"
|
||||
fi
|
||||
done
|
||||
|
||||
# The old code and its comment:
|
||||
|
||||
# With menucompletion we just add matches for the matching
|
||||
# components with the prefix we collected and the rest from the
|
||||
# line as a suffix.
|
||||
|
||||
# tmp2="$pre$suf"
|
||||
# if [[ "$tmp2" = *${sep}* ]]; then
|
||||
# compadd "$group[@]" "$expl[@]" "$sopts[@]" \
|
||||
# -p "$pref" -s "${sep}${tmp2#*${sep}}" \
|
||||
# -M "r:|${sep}=* r:|=* $match" - "$tmp1[@]"
|
||||
# else
|
||||
# compadd "$group[@]" "$expl[@]" -p "$pref" "$sopts[@]" \
|
||||
# -M "r:|${sep}=* r:|=* $match" - "$tmp1[@]"
|
||||
# fi
|
||||
else
|
||||
# With normal completion we add all matches one-by-one with
|
||||
# the unmatched part as a suffix. This will insert the longest
|
||||
|
@ -202,7 +188,8 @@ while true; do
|
|||
# case we insert the expanded prefix we collected if it differs
|
||||
# from the original string from the line.
|
||||
|
||||
[[ "$orig" = "$pref$pre$suf" ]] && return 1
|
||||
{ ! zstyle -t ":completion:${curcontext}:" expand prefix ||
|
||||
[[ "$orig" = "$pref$pre$suf" ]] } && return 1
|
||||
|
||||
PREFIX="${cpre}${pre}"
|
||||
SUFFIX="$suf"
|
||||
|
|
|
@ -4,7 +4,7 @@ local expl groups
|
|||
|
||||
_wanted groups expl group || return 1
|
||||
|
||||
if ! zstyle -a ":completion:${curcontext}:groups" groups groups; then
|
||||
if ! zstyle -a ":completion:${curcontext}:" groups groups; then
|
||||
(( $+_cache_groups )) ||
|
||||
if (( ${+commands[ypcat]} )); then
|
||||
: ${(A)_cache_groups:=${${(s: :)$(ypcat group.byname)}%%:*}} # If you use YP
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
local expl ports
|
||||
|
||||
if ! zstyle -a ":completion:${curcontext}:ports" ports ports; then
|
||||
if ! zstyle -a ":completion:${curcontext}:" ports ports; then
|
||||
(( $+_cache_ports )) ||
|
||||
: ${(A)_cache_ports:=${${(M)${${(f)"$(</etc/services)"}:#\#*}#*/tcp}%%[ ]*}}
|
||||
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
#compdef last passwd groups
|
||||
|
||||
# If a parameter `users' exists and it is an array, we first try to
|
||||
# complete only to its elements.
|
||||
|
||||
local expl users
|
||||
|
||||
_wanted users expl user || return 1
|
||||
|
||||
zstyle -a ":completion:${curcontext}:users" users users &&
|
||||
zstyle -a ":completion:${curcontext}:" users users &&
|
||||
compadd "$expl[@]" "$@" - "$users[@]" && return 0
|
||||
|
||||
compadd "$@" "$expl[@]" - "${(@k)userdirs}"
|
||||
|
|
|
@ -773,10 +773,11 @@ completed. If this is not set by the user domain names mentioned in
|
|||
tt(/etc/resolv.conf) will be used.
|
||||
)
|
||||
item(tt(expand))(
|
||||
Like tt(cursor), this style is used with the tt(paths) tag. If its
|
||||
value contains the string tt(prefix), the partially typed path from
|
||||
the line will be expanded as far as possible even if trailing pathname
|
||||
components can not be completed. If it contains the string tt(suffix)
|
||||
This style is used when completing strings consisting of multiple
|
||||
parts, such as path names. If its
|
||||
value contains the string tt(prefix), the partially typed word from
|
||||
the line will be expanded as far as possible even if trailing parts
|
||||
can not be completed. If it contains the string tt(suffix)
|
||||
and normal (non-menu-) completion is used, matching names for
|
||||
components after the first ambiguous one will be added, too. This
|
||||
means that the resulting string is the longest unambiguous string
|
||||
|
|
Loading…
Reference in a new issue