summaryrefslogtreecommitdiffstats
path: root/Completion
diff options
context:
space:
mode:
authorTanaka Akira <akr@users.sourceforge.net>1999-12-10 14:47:55 +0000
committerTanaka Akira <akr@users.sourceforge.net>1999-12-10 14:47:55 +0000
commit188e6569dbb250b25bf3fe74b9d13007d5207b51 (patch)
treebbc3c0b5f636f5887aa5cf52c8b0a75b4cccf353 /Completion
parentzsh-workers/8990 (diff)
downloadzsh-188e6569dbb250b25bf3fe74b9d13007d5207b51.tar
zsh-188e6569dbb250b25bf3fe74b9d13007d5207b51.tar.gz
zsh-188e6569dbb250b25bf3fe74b9d13007d5207b51.tar.bz2
zsh-188e6569dbb250b25bf3fe74b9d13007d5207b51.tar.lz
zsh-188e6569dbb250b25bf3fe74b9d13007d5207b51.tar.xz
zsh-188e6569dbb250b25bf3fe74b9d13007d5207b51.tar.zst
zsh-188e6569dbb250b25bf3fe74b9d13007d5207b51.zip
manual/8992
Diffstat (limited to 'Completion')
-rw-r--r--Completion/Base/_arguments4
-rw-r--r--Completion/Base/_combination2
-rw-r--r--Completion/Base/_describe5
-rw-r--r--Completion/Base/_first2
-rw-r--r--Completion/Base/_jobs9
-rw-r--r--Completion/Base/_regex_arguments2
-rw-r--r--Completion/Base/_subscript4
-rw-r--r--Completion/Base/_tilde4
-rw-r--r--Completion/Builtins/_pids6
-rw-r--r--Completion/Builtins/_popd5
-rw-r--r--Completion/Builtins/_sched2
-rw-r--r--Completion/Builtins/_signals5
-rw-r--r--Completion/Builtins/_stat3
-rw-r--r--Completion/Commands/_history_complete_word12
-rw-r--r--Completion/Core/_approximate7
-rw-r--r--Completion/Core/_description10
-rw-r--r--Completion/Core/_expand11
-rw-r--r--Completion/Core/_list4
-rw-r--r--Completion/Core/_main_complete9
-rw-r--r--Completion/Core/_match4
-rw-r--r--Completion/Core/_message5
-rw-r--r--Completion/Core/_oldlist5
-rw-r--r--Completion/Core/_path_files10
-rw-r--r--Completion/Core/_requested2
-rw-r--r--Completion/Core/_setup12
-rw-r--r--Completion/Core/_tags10
-rw-r--r--Completion/Core/compinit32
-rw-r--r--Completion/Debian/_apt2
-rw-r--r--Completion/User/_cvs3
-rw-r--r--Completion/User/_groups2
-rw-r--r--Completion/User/_hosts2
-rw-r--r--Completion/User/_ports2
-rw-r--r--Completion/User/_socket3
-rw-r--r--Completion/User/_urls5
-rw-r--r--Completion/User/_users2
-rw-r--r--Completion/X/_x_color2
36 files changed, 108 insertions, 101 deletions
diff --git a/Completion/Base/_arguments b/Completion/Base/_arguments
index 591cb6ac7..16293a098 100644
--- a/Completion/Base/_arguments
+++ b/Completion/Base/_arguments
@@ -162,7 +162,7 @@ while [[ "$1" = -(O*|C) ]]; do
esac
done
-_style -s options auto-description autod
+zstyle -s ":completion${curcontext}:options" auto-description autod
if (( $# )) && comparguments -i "$autod" "$@"; then
local nm="$compstate[nmatches]" action noargs aret expl local
@@ -258,7 +258,7 @@ if (( $# )) && comparguments -i "$autod" "$@"; then
fi
if [[ -z "$matched" ]] && _requested options &&
- { ! _style options prefix-needed ||
+ { ! zstyle -t ":completion${curcontext}:options" prefix-needed ||
[[ "$origpre" = [-+]* ]] } ; then
local prevpre="$PREFIX" previpre="$IPREFIX"
diff --git a/Completion/Base/_combination b/Completion/Base/_combination
index 97da22a5f..ffda5cae9 100644
--- a/Completion/Base/_combination
+++ b/Completion/Base/_combination
@@ -78,7 +78,7 @@ key="${1%:*}"
num="${${1##*:}:-1}"
shift
-if _style -a "$tag" "$style" tmp; then
+if zstyle -a ":completion${curcontext}:$tag" "$style" tmp; then
eval "tmp=( \"\${(@M)tmp:#\${(j($sep))~pats}}\" )"
if (( keys[(in:num:)$key] != 1 )); then
eval "tmp=( \${tmp#\${(j(${sep}))~\${(@)\${(@)keys[2,(rn:num:)\$key]}/*/*}}$sep} )"
diff --git a/Completion/Base/_describe b/Completion/Base/_describe
index 7be7ea29f..1db7e6fb6 100644
--- a/Completion/Base/_describe
+++ b/Completion/Base/_describe
@@ -16,7 +16,7 @@ fi
_tags "$_type" || return 1
-_style "$_type" verbose && _showd=yes
+zstyle -t ":completion${curcontext}:$_type" verbose && _showd=yes
_description "$_type" _expl "$1"
shift
@@ -27,7 +27,8 @@ else
compdescribe -i "$@"
fi
-[[ "$_type" = options ]] && _style options prefix-hidden && _hide=yes
+[[ "$_type" = options ]] &&
+ zstyle -t ":completion${curcontext}:options" prefix-hidden && _hide=yes
while compdescribe -g _args _tmpd _tmpmd _tmps _tmpms; do
diff --git a/Completion/Base/_first b/Completion/Base/_first
index 6740c00c5..f81ab465e 100644
--- a/Completion/Base/_first
+++ b/Completion/Base/_first
@@ -50,7 +50,7 @@
# # We first search in the last ten words, then in the last
# # twenty words, and so on...
# while [[ i -le max ]]; do
-# if _style history-words sort; then
+# if zstyle -t ":completion${curcontext}:history-words" sort; then
# _description history-words expl "history ($n)"
# else
# _description -V history-words expl "history ($n)"
diff --git a/Completion/Base/_jobs b/Completion/Base/_jobs
index addc88607..ff9fa5a62 100644
--- a/Completion/Base/_jobs
+++ b/Completion/Base/_jobs
@@ -4,9 +4,10 @@ local expl disp jobs job jids pfx='%' desc
_tags jobs || return 1
-_style jobs prefix-needed && [[ "$PREFIX" != %* ]] && return 1
-_style jobs prefix-hidden && pfx=''
-_style jobs verbose && desc=yes
+zstyle -t ":completion${curcontext}:jobs" prefix-needed &&
+ [[ "$PREFIX" != %* ]] && return 1
+zstyle -t ":completion${curcontext}:jobs" prefix-hidden && pfx=''
+zstyle -t ":completion${curcontext}:jobs" verbose && desc=yes
if [[ "$1" = -r ]]; then
jids=( "${(@k)jobstates[(R)running*]}" )
@@ -30,7 +31,7 @@ if [[ -n "$desc" ]]; then
done
fi
-if _style jobs strings; then
+if zstyle -t ":completion${curcontext}:jobs" strings; then
local texts i text str tmp
# Find shortest unambiguous strings.
diff --git a/Completion/Base/_regex_arguments b/Completion/Base/_regex_arguments
index 918eafc5c..653aeedbe 100644
--- a/Completion/Base/_regex_arguments
+++ b/Completion/Base/_regex_arguments
@@ -330,7 +330,7 @@ _regex_arguments () {
local i state next
local cache_dir
- _style -s regex cache-path cache_dir
+ zstyle -s ":completion${curcontext}:regex" cache-path cache_dir
[[ -z "$cache_dir" ]] && cache_dir="$HOME/.zsh/regex_arguments"
local cache_file="$cache_dir/$1"
local cache_test
diff --git a/Completion/Base/_subscript b/Completion/Base/_subscript
index 21e62e8aa..fdda19301 100644
--- a/Completion/Base/_subscript
+++ b/Completion/Base/_subscript
@@ -21,14 +21,14 @@ elif [[ ${(Pt)${compstate[parameter]}} = array* ]]; then
while _tags; do
if _requested -V indexes expl 'array index'; then
ind=( {1..${#${(P)${compstate[parameter]}}}} )
- if _style indexes verbose; then
+ if zstyle -t ":completion${curcontext}:indexes" verbose; then
list=()
for i in "$ind[@]"; do
[[ "$i" = ${PREFIX}*${SUFFIX} ]] &&
list=( "$list[@]"
"${i}:$(print -D ${(P)${compstate[parameter]}[$i]})" )
done
- compdisplay list ' -- ' "$list[@]"
+ zformat -a list ' -- ' "$list[@]"
disp=( -d list)
else
disp=()
diff --git a/Completion/Base/_tilde b/Completion/Base/_tilde
index 4aceca6ce..bba928f50 100644
--- a/Completion/Base/_tilde
+++ b/Completion/Base/_tilde
@@ -22,9 +22,9 @@ while _tags; do
compadd "$suf[@]" "$expl[@]" "$@" - "${(@k)nameddirs}"
if _requested -V directory-stack expl 'directory stack' &&
- { ! _style directory-stack prefix-needed ||
+ { ! zstyle -t ":completion${curcontext}:directory-stack" prefix-needed ||
[[ "$PREFIX" = [-+]* ]] }; then
- if _style directory-stack verbose; then
+ if zstyle -t ":completion${curcontext}:directory-stack" verbose; then
integer i
lines=("${PWD}" "${dirstack[@]}")
diff --git a/Completion/Builtins/_pids b/Completion/Builtins/_pids
index d383d6b99..af88a5920 100644
--- a/Completion/Builtins/_pids
+++ b/Completion/Builtins/_pids
@@ -12,11 +12,11 @@ if [[ "$1" = -m ]]; then
shift 2
fi
-_style -a ps list-arguments listargs
-_style -a ps arguments args
+zstyle -a ":completion${curcontext}:ps" list-arguments listargs
+zstyle -a ":completion${curcontext}:ps" arguments args
(( $#listargs )) || listargs=( "$args[@]" )
-if _style processes verbose; then
+if zstyle -t ":completion${curcontext}:processes" verbose; then
list=("${(@Mr:COLUMNS-1:)${(f@)$(command ps $listargs 2>/dev/null)}[2,-1]:#[ ]#${PREFIX}[0-9]#${SUFFIX}[ ]*${~match}}")
desc=(-ld list)
else
diff --git a/Completion/Builtins/_popd b/Completion/Builtins/_popd
index 604bcecd5..9c5981d17 100644
--- a/Completion/Builtins/_popd
+++ b/Completion/Builtins/_popd
@@ -11,9 +11,10 @@ local expl list lines revlines disp
_wanted -V directory-stack expl 'directory stack' || return 1
-! _style directory-stack prefix-needed || [[ $PREFIX = [-+]* ]] || return 1
+! zstyle -t ":completion${curcontext}:directory-stack" prefix-needed ||
+ [[ $PREFIX = [-+]* ]] || return 1
-if _style directory-stack verbose; then
+if zstyle -t ":completion${curcontext}:directory-stack" verbose; then
# get the list of directories with their canonical number
# and turn the lines into an array, removing the current directory
lines=("${PWD}" "${dirstack[@]}")
diff --git a/Completion/Builtins/_sched b/Completion/Builtins/_sched
index 5e1086518..ea11eeb65 100644
--- a/Completion/Builtins/_sched
+++ b/Completion/Builtins/_sched
@@ -7,7 +7,7 @@ if [[ CURRENT -eq 2 ]]; then
_wanted -C - jobs expl 'scheduled jobs' || return 1
lines=(${(f)"$(sched)"})
- if _style jobs verbose; then
+ if zstyle -t ":completion${curcontext}:jobs" verbose; then
disp=( -ld lines )
else
disp=()
diff --git a/Completion/Builtins/_signals b/Completion/Builtins/_signals
index c79350044..545d83924 100644
--- a/Completion/Builtins/_signals
+++ b/Completion/Builtins/_signals
@@ -21,11 +21,12 @@ done
[[ "$1" = -(|-) ]] && shift
if _wanted signals expl signal &&
- { [[ -z "$minus" ]] || ! _style signals prefix-needed ||
+ { [[ -z "$minus" ]] ||
+ ! zstyle -t ":completion${curcontext}:signals" prefix-needed ||
[[ "$PREFIX" = -* ]] } ; then
local disp tmp
- if _style signals prefix-hidden; then
+ if zstyle -t ":completion${curcontext}:signals" prefix-hidden; then
tmp=( "${(@)signals[1,last]}" )
disp=(-d tmp)
else
diff --git a/Completion/Builtins/_stat b/Completion/Builtins/_stat
index d0ec85550..232cf672b 100644
--- a/Completion/Builtins/_stat
+++ b/Completion/Builtins/_stat
@@ -9,7 +9,8 @@ else
while _tags; do
_requested options expl 'inode element' &&
- { ! _style options prefix-needed || [[ "$PREFIX[1]" = + ]] } &&
+ { ! zstyle -t ":completion${curcontext}:options" prefix-needed ||
+ [[ "$PREFIX[1]" = + ]] } &&
compadd "$expl[@]" - +device +inode +mode +nlink +uid +gid +rdev \
+size +atime +mtime +ctime +blksize +block +link
fi
diff --git a/Completion/Commands/_history_complete_word b/Completion/Commands/_history_complete_word
index 08fc1ea79..7867189e8 100644
--- a/Completion/Commands/_history_complete_word
+++ b/Completion/Commands/_history_complete_word
@@ -25,9 +25,9 @@ _history_complete_word () {
direction=older
fi
- _style -s history-words stop stop
+ zstyle -s ":completion${curcontext}:history-words" stop stop
- _style history-words list || compstate[list]=''
+ zstyle -t ":completion${curcontext}:history-words" list || compstate[list]=''
if [[ -n "$compstate[old_list]" &&
( -n "$stop" || "$compstate[insert]" = menu ) ]] ; then
@@ -67,14 +67,14 @@ _history_complete_word () {
}
_history_complete_word_gen_matches () {
- if _style history-words list; then
- if _style history-words sort; then
+ if zstyle -t ":completion${curcontext}:history-words" list; then
+ if zstyle -t ":completion${curcontext}:history-words" sort; then
_description history-words expl 'history word'
else
_description -V history-words expl 'history word'
fi
else
- if _style history-words sort; then
+ if zstyle -t ":completion${curcontext}:history-words" sort; then
expl=()
else
expl=('-V' '')
@@ -84,7 +84,7 @@ _history_complete_word_gen_matches () {
[[ -n "$_hist_stop" ]] && PREFIX="$_hist_old_prefix"
local rem_dups
- if _style history-words remove-all-dups; then
+ if zstyle -t ":completion${curcontext}:history-words" remove-all-dups; then
rem_dups=''
else
rem_dups='-1'
diff --git a/Completion/Core/_approximate b/Completion/Core/_approximate
index fc2d6afa0..bb1faa7b3 100644
--- a/Completion/Core/_approximate
+++ b/Completion/Core/_approximate
@@ -20,7 +20,7 @@ local curcontext="${curcontext}" oldcontext
oldcontext="$curcontext"
-_style -s '' max-errors cfgacc
+zstyle -s ":completion${curcontext}:" max-errors cfgacc
# Get the number of errors to accept.
@@ -79,11 +79,12 @@ while [[ _comp_correct -le comax ]]; do
"e:$_comp_correct" "o:$PREFIX$SUFFIX"
if _complete; then
- if _style '' insert-unambiguous &&
+ if zstyle -t ":completion${curcontext}:" insert-unambiguous &&
[[ "${#compstate[unambiguous]}" -ge "${#:-$PREFIX$SUFFIX}" ]]; then
compstate[pattern_insert]=unambiguous
elif _requested original &&
- ( [[ compstate[nmatches] -gt 1 ]] || _style '' original ); then
+ ( [[ compstate[nmatches] -gt 1 ]] ||
+ zstyle -t ":completion${curcontext}:" original ); then
local expl
_description -V original expl original
diff --git a/Completion/Core/_description b/Completion/Core/_description
index 3bf15d320..89a0733a8 100644
--- a/Completion/Core/_description
+++ b/Completion/Core/_description
@@ -16,17 +16,19 @@ _setup "$1"
name="$2"
-_style -s "$1" format format || _style -s descriptions format format
+zstyle -s ":completion${curcontext}:$1" format format ||
+ zstyle -s ":completion${curcontext}:descriptions" format format
-_style -s "$1" hidden hidden
+zstyle -s ":completion${curcontext}:$1" hidden hidden
if [[ "$hidden" = (all|yes|true|1|on) ]]; then
[[ "$hidden" = all ]] && format=''
hide=(-n)
fi
-_style -s "$1" group-name gname && [[ -z "$gname" ]] && gname="$1"
+zstyle -s ":completion${curcontext}:$1" group-name gname &&
+ [[ -z "$gname" ]] && gname="$1"
shift 2
-[[ -n "$format" ]] && compfmt format "$format" "d:$1" "${(@)argv[2,-1]}"
+[[ -n "$format" ]] && zformat -f format "$format" "d:$1" "${(@)argv[2,-1]}"
if [[ -n "$gname" ]]; then
if [[ -n "$format" ]]; then
diff --git a/Completion/Core/_expand b/Completion/Core/_expand
index bde5ee2f8..cdfc2a8d1 100644
--- a/Completion/Core/_expand
+++ b/Completion/Core/_expand
@@ -13,7 +13,8 @@ local exp word="$PREFIX$SUFFIX" sort expr expl curcontext="${curcontext}"
# First, see if we should insert all *completions*.
-if _style -s '' completions expr && [[ "${(e):-\$[$expr]}" -eq 1 ]]; then
+if zstyle -s ":completion${curcontext}:" completions expr &&
+ [[ "${(e):-\$[$expr]}" -eq 1 ]]; then
compstate[insert]=all
return 1
fi
@@ -29,7 +30,8 @@ exp=("$word")
# First try substitution. That weird thing spanning multiple lines
# changes quoted spaces, tabs, and newlines into spaces.
-_style -s '' substitute expr && [[ "${(e):-\$[$expr]}" -eq 1 ]] &&
+zstyle -s ":completion${curcontext}:" substitute expr &&
+ [[ "${(e):-\$[$expr]}" -eq 1 ]] &&
exp=( "${(e)exp//\\[
]/ }" )
@@ -39,7 +41,8 @@ _style -s '' substitute expr && [[ "${(e):-\$[$expr]}" -eq 1 ]] &&
# Now try globbing.
-_style -s '' glob expr && [[ "${(e):-\$[$expr]}" -eq 1 ]] &&
+zstyle -s ":completion${curcontext}:" glob expr &&
+ [[ "${(e):-\$[$expr]}" -eq 1 ]] &&
exp=( ${~exp}(N) )
# If we don't have any expansions or only one and that is the same
@@ -50,7 +53,7 @@ _style -s '' glob expr && [[ "${(e):-\$[$expr]}" -eq 1 ]] &&
# Now add as matches whatever the user requested.
-_style -s '' sort sort
+zstyle -s ":completion${curcontext}:" sort sort
[[ "$sort" = (yes|true|1|on) ]] && exp=( "${(@o)exp}" )
diff --git a/Completion/Core/_list b/Completion/Core/_list
index 6c72bc9e9..294467eca 100644
--- a/Completion/Core/_list
+++ b/Completion/Core/_list
@@ -8,7 +8,7 @@ local pre suf curcontext="${curcontext}:list" expr
# Get the strings to compare.
-if _style '' word; then
+if zstyle -t ":completion${curcontext}:" word; then
pre="$HISTNO$LBUFFER"
suf="$RBUFFER"
else
@@ -18,7 +18,7 @@ fi
# Should we only show a list now?
-_style -s '' condition expr
+zstyle -s ":completion${curcontext}:" condition expr
if [[ ( -z "$expr" || "${(e):-\$[$expr]}" -eq 1 ) &&
( "$pre" != "$_list_prefix" || "$suf" != "$_list_suffix" ) ]]; then
diff --git a/Completion/Core/_main_complete b/Completion/Core/_main_complete
index 2bacad88b..285413726 100644
--- a/Completion/Core/_main_complete
+++ b/Completion/Core/_main_complete
@@ -17,7 +17,7 @@
# state than the global one for which you are completing.
-local comp post ret=1 _compskip _prio_num=1 _cur_context format \
+local comp post ret=1 _compskip _prio_num=1 format \
context state line opt_args val_args curcontext="$curcontext" \
_last_nmatches=-1 _last_menu_style _def_menu_style _menu_style sel \
_saved_exact="$compstate[exact]" \
@@ -56,7 +56,7 @@ _last_menu_style=()
if (( ! $# )); then
local tmp
- _style -a '' completer tmp
+ zstyle -a ":completion${curcontext}:" completer tmp
set -- "$tmp[@]"
fi
@@ -139,7 +139,7 @@ fi
if [[ compstate[nmatches] -eq 0 &&
compstate[matcher] -eq compstate[total_matchers] &&
$#_lastdescr -ne 0 ]] &&
- _style -s warnings format format; then
+ zstyle -s ":completion${curcontext}:warnings" format format; then
local str
compstate[list]='list force'
@@ -151,7 +151,8 @@ if [[ compstate[nmatches] -eq 0 &&
*) str="${(j:, :)_lastdescr[1,-2]}, or $_lastdescr[-1]";;
esac
- compadd -UX "${format//\\%d/$str}" -n ''
+ zformat -f format "$format" "d:$str"
+ compadd -UX "$format" -n ''
fi
_lastcomp=( "${(@kv)compstate}" )
diff --git a/Completion/Core/_match b/Completion/Core/_match
index d5556dfcd..0a9d755c4 100644
--- a/Completion/Core/_match
+++ b/Completion/Core/_match
@@ -19,8 +19,8 @@ tmp="${${:-$PREFIX$SUFFIX}#[~=]}"
[[ "$tmp:q" = "$tmp" ||
compstate[matcher] -ne compstate[total_matchers] ]] && return 1
-_style -s '' original orig
-_style -b '' insert-unambiguous ins
+zstyle -s ":completion${curcontext}:" original orig
+zstyle -b ":completion${curcontext}:" insert-unambiguous ins
# Try completion without inserting a `*'?
diff --git a/Completion/Core/_message b/Completion/Core/_message
index 6b2666253..8ae93f973 100644
--- a/Completion/Core/_message
+++ b/Completion/Core/_message
@@ -4,10 +4,11 @@ local format
_tags messages || return 1
-_style -s messages format format || _style -s descriptions format format
+zstyle -s ":completion${curcontext}:messages" format format ||
+ zstyle -s ":completion${curcontext}:descriptions" format format
if [[ -n "$format" ]]; then
- compfmt format "$format" "d:$1" "${(@)argv[2,-1]}"
+ zformat -f format "$format" "d:$1" "${(@)argv[2,-1]}"
if [[ $compstate[nmatches] -eq 0 ]]; then
compstate[list]='list force'
compstate[insert]=''
diff --git a/Completion/Core/_oldlist b/Completion/Core/_oldlist
index ba57ed6b4..b0092d586 100644
--- a/Completion/Core/_oldlist
+++ b/Completion/Core/_oldlist
@@ -2,7 +2,7 @@
local curcontext="${curcontext}:oldlist" list
-_style -s '' list list
+zstyle -s ":completion${curcontext}:" list list
# If this is a listing widget and there is already an old list,
# and either the style :oldlist:list is `always', or it is not `never'
@@ -33,7 +33,8 @@ fi
if [[ -z $compstate[old_insert] && -n $compstate[old_list] ]]; then
compstate[old_list]=keep
-elif [[ $WIDGET = *complete(|-prefix|-word) ]] && _style '' menu; then
+elif [[ $WIDGET = *complete(|-prefix|-word) ]] &&
+ zstyle -t ":completion${curcontext}:" menu; then
if [[ -n $compstate[old_insert] ]]; then
compstate[old_list]=keep
if [[ $WIDGET = *reverse* ]]; then
diff --git a/Completion/Core/_path_files b/Completion/Core/_path_files
index e5135a422..2dcfa625c 100644
--- a/Completion/Core/_path_files
+++ b/Completion/Core/_path_files
@@ -116,7 +116,7 @@ orig="${PREFIX}${SUFFIX}"
# If given no `-F' option, we want to use the `ignored-suffixes'-style.
if (( ! $#ignore )); then
- if _style -a files ignored-suffixes ignore; then
+ if zstyle -a ":completion${curcontext}:files" ignored-suffixes ignore; then
ignore=(-F "( $ignore )")
else
@@ -347,8 +347,10 @@ for prepath in "$prepaths[@]"; do
tmp4="$testpath"
compquote tmp1 tmp4
- if [[ -n $menu ]] || ! _style paths expand '*suffix*'; then
- _style paths cursor && compstate[to_end]=''
+ if [[ -n $menu ]] ||
+ ! zstyle -t ":completion${curcontext}:paths" expand suffix; then
+ zstyle -t ":completion${curcontext}:paths" cursor &&
+ compstate[to_end]=''
if [[ "$tmp3" = */* ]]; then
compadd -Qf "$mopts[@]" -p "$linepath$tmp4" -s "/${tmp3#*/}" \
-W "$prepath$realpath$testpath" "$ignore[@]" \
@@ -436,7 +438,7 @@ done
exppaths=( "${(@)exppaths:#$orig}" )
-if _style paths expand '*prefix*' &&
+if zstyle -t ":completion${curcontext}:paths" expand prefix &&
[[ $#exppaths -gt 0 && nm -eq compstate[nmatches] ]]; then
PREFIX="${opre}"
SUFFIX="${osuf}"
diff --git a/Completion/Core/_requested b/Completion/Core/_requested
index 3bc6f3b40..a582adfb9 100644
--- a/Completion/Core/_requested
+++ b/Completion/Core/_requested
@@ -8,8 +8,6 @@ else
tag="$1"
fi
-comptags -C _cur_context
-
comptags -R "$tag" &&
if [[ $# -gt 1 ]]; then
_description "$@"
diff --git a/Completion/Core/_setup b/Completion/Core/_setup
index bdef1bf8e..fa1495ced 100644
--- a/Completion/Core/_setup
+++ b/Completion/Core/_setup
@@ -2,7 +2,7 @@
local val nm="$compstate[nmatches]"
-if _style -a "$1" list-colors val; then
+if zstyle -a ":completion${curcontext}:$1" list-colors val; then
if [[ "$1" = default ]]; then
ZLS_COLORS="${(j.:.)${(@)val:gs/:/\\\:}}"
else
@@ -10,7 +10,7 @@ if _style -a "$1" list-colors val; then
fi
fi
-if _style -s "$1" list-packed val; then
+if zstyle -s ":completion${curcontext}:$1" list-packed val; then
if [[ "$val" = (yes|true|1|on) ]]; then
compstate[list]="${compstate[list]} packed"
else
@@ -20,7 +20,7 @@ else
compstate[list]="$_saved_list"
fi
-if _style -s "$1" list-rows-first val; then
+if zstyle -s ":completion${curcontext}:$1" list-rows-first val; then
if [[ "$val" = (yes|true|1|on) ]]; then
compstate[list]="${compstate[list]} rows"
else
@@ -30,7 +30,7 @@ else
compstate[list]="$_saved_list"
fi
-if _style -s "$1" last-prompt val; then
+if zstyle -s ":completion${curcontext}:$1" last-prompt val; then
if [[ "$val" = (yes|true|1|on) ]]; then
compstate[last_prompt]=yes
else
@@ -40,7 +40,7 @@ else
compstate[last_prompt]="$_saved_lastprompt"
fi
-if _style -s "$1" accept-exact val; then
+if zstyle -s ":completion${curcontext}:$1" accept-exact val; then
if [[ "$val" = (yes|true|1|on) ]]; then
compstate[exact]=accept
else
@@ -53,7 +53,7 @@ fi
[[ _last_nmatches -ge 0 && _last_nmatches -ne nm ]] &&
_menu_style=( "$_last_menu_style[@]" "$_menu_style[@]" )
-if _style -a "$1" menu val; then
+if zstyle -a ":completion${curcontext}:$1" menu val; then
_last_nmatches="$nm"
_last_menu_style=( "$val[@]" )
else
diff --git a/Completion/Core/_tags b/Completion/Core/_tags
index b39c0fff5..fcef91061 100644
--- a/Completion/Core/_tags
+++ b/Completion/Core/_tags
@@ -18,7 +18,7 @@ if (( $# )); then
[[ "$1" = -(|-) ]] && shift
- if _style -a '' group-order order; then
+ if zstyle -a ":completion${curcontext}" group-order order; then
local name
for name in "$order[@]"; do
@@ -42,10 +42,6 @@ if (( $# )); then
"${_sort_tags:-_sort_tags}" "$@"
- # Also store the context (used below and in _requested).
-
- _cur_context="$curcontext"
-
# Return non-zero if at least one set of tags should be used.
comptags -T
@@ -57,10 +53,6 @@ fi
local tags
-# Reset the current context.
-
-comptags -C _cur_context
-
_failed_tags=( "$_failed_tags[@]" "$_last_tags[@]" )
# Return failure if no sets remaining.
diff --git a/Completion/Core/compinit b/Completion/Core/compinit
index 06586cdc4..0d99aadd5 100644
--- a/Completion/Core/compinit
+++ b/Completion/Core/compinit
@@ -440,19 +440,19 @@ compstyle() {
if (( ! $# )); then
local pats styles vals pat style pre eq
- compstyles -G pats
+ zstyle -g pats
- for pat in "$pats[@]"; do
+ for pat in "${(@M)pats:#:completion*}"; do
if [[ -n "$long" ]]; then
- pre="compstyle ${(qq)pat} "
+ pre="compstyle ${(qq)pat#:completion} "
else
- print "$pat"
+ print "${pat#:completion}"
pre=' '
eq=' ='
fi
- compstyles -G styles "$pat"
+ zstyle -g styles "$pat"
for style in "$styles[@]"; do
- compstyles -G vals "$pat" "$style"
+ zstyle -g vals "$pat" "$style"
print "${pre}${style}${eq}" "${(@qq)vals}"
done
done
@@ -461,26 +461,24 @@ compstyle() {
fi
if [[ "$1" = -d ]]; then
- case "$#" in
- 1) compstyles -d ;;
- 2) compstyles -d "$2" ;;
- *)
- local pat="$2" style
+ if [[ $# -gt 1 ]]; then
+ zstyle -d ":completion$2" "${(@)argv[3,-1]}"
+ else
+ local pats
- shift
+ zstyle -g pats
- for style; do
- compstyles -d "$pat" "$style"
+ for pat in "${(@M)pats:#:completion}"; do
+ zstyle -d "$pat"
done
- ;;
- esac
+ fi
return 0
fi
[[ "$1" = -(|-) ]] && shift
- compstyles -a "$@"
+ zstyle - ":completion$1" "${(@)argv[2,-1]}"
return 0
}
diff --git a/Completion/Debian/_apt b/Completion/Debian/_apt
index 80f9d8ab6..9d51533ab 100644
--- a/Completion/Debian/_apt
+++ b/Completion/Debian/_apt
@@ -106,7 +106,7 @@ tmp2=("$tmp2[@]" $_ra_left${(M)^short_bool:#$~tmp1} $_ra_left${(M)^short_intleve
tmp3=("$tmp3[@]" $_ra_left${(M)^short_hasarg:#$~tmp1} $_ra_left${(M)^short_configfile:#$~tmp1} $_ra_left${(M)^short_arbitem:#$~tmp1})
_describe -o option tmp2 -- tmp3 -S='
- comp_opt='{ ! _style options prefix-needed || [[ "$PREFIX" = -* ]] }'" && { $comp_short; $comp_long }"
+ comp_opt='{ ! zstyle -t ":completion${curcontext}:options" prefix-needed || [[ "$PREFIX" = -* ]] }'" && { $comp_short; $comp_long }"
regex_short=()
regex_long=()
diff --git a/Completion/User/_cvs b/Completion/User/_cvs
index 484d5c88c..fc0ab3116 100644
--- a/Completion/User/_cvs
+++ b/Completion/User/_cvs
@@ -488,7 +488,8 @@ _cvs_extract_file_entries () {
(( $+functions[_cvs_extract_modifiedfile_entries] )) ||
_cvs_extract_modifiedfile_entries () {
- if _style cvs disable-stat || ! { zmodload -e stat || zmodload stat }; then
+ if zstyle -t ":completion${curcontext}:cvs" disable-stat ||
+ ! { zmodload -e stat || zmodload stat }; then
_cvs_extract_file_entries
return
fi
diff --git a/Completion/User/_groups b/Completion/User/_groups
index 0007c1791..fbd884688 100644
--- a/Completion/User/_groups
+++ b/Completion/User/_groups
@@ -4,7 +4,7 @@ local expl groups
_wanted groups expl group || return 1
-if ! _style -a groups groups groups; then
+if ! zstyle -a ":completion${curcontext}:groups" groups groups; then
(( $+_cache_groups )) ||
if (( ${+commands[ypcat]} )); then
: ${(A)_cache_groups:=${${(s: :)$(ypcat group.byname)}%%:*}} # If you use YP
diff --git a/Completion/User/_hosts b/Completion/User/_hosts
index 196f40c83..9de9b2d96 100644
--- a/Completion/User/_hosts
+++ b/Completion/User/_hosts
@@ -2,7 +2,7 @@
local expl hosts
-if ! _style -a hosts hosts hosts; then
+if ! zstyle -a ":completion${curcontext}:hosts" hosts hosts; then
(( $+_cache_hosts )) ||
: ${(A)_cache_hosts:=${(s: :)${(ps:\t:)${${(f)"$(</etc/hosts)"}%%\#*}##[:blank:]#[^[:blank:]]#}}}
diff --git a/Completion/User/_ports b/Completion/User/_ports
index db4ea03c8..07428fe75 100644
--- a/Completion/User/_ports
+++ b/Completion/User/_ports
@@ -2,7 +2,7 @@
local expl ports
-if ! _style -a ports ports ports; then
+if ! zstyle -a ":completion${curcontext}:ports" ports ports; then
(( $+_cache_ports )) ||
: ${(A)_cache_ports:=${${(M)${${(f)"$(</etc/services)"}:#\#*}#*/tcp}%%[ ]*}}
diff --git a/Completion/User/_socket b/Completion/User/_socket
index 7a7c7dccc..d6a8b7af7 100644
--- a/Completion/User/_socket
+++ b/Completion/User/_socket
@@ -9,7 +9,8 @@ local curcontext="$curcontext" state line expl
typeset -A opt_args
[[ $CURRENT -eq 2 ]] && _wanted options expl option &&
- { ! _style options prefix-needed || [[ "$PREFIX" = -* ]] } &&
+ { ! zstyle -t ":completion${curcontext}:options" prefix-needed ||
+ [[ "$PREFIX" = -* ]] } &&
compadd -M 'r:|[_-]=* r:|=*' "$expl[@]" - -version
_arguments -C -s \
diff --git a/Completion/User/_urls b/Completion/User/_urls
index 265fadae8..84244cce0 100644
--- a/Completion/User/_urls
+++ b/Completion/User/_urls
@@ -40,8 +40,9 @@
local ipre scheme host user uhosts ret=1 expl
local urls_path localhttp
-_style -s urls path urls_path || urls_path="${ZDOTDIR:-$HOME}/.zsh/urls"
-_style -a urls local localhttp
+zstyle -s ":completion${curcontext}:urls" path urls_path ||
+ urls_path="${ZDOTDIR:-$HOME}/.zsh/urls"
+zstyle -a ":completion${curcontext}:urls" local localhttp
local localhttp_servername="$localhttp[1]"
local localhttp_documentroot="$localhttp[2]"
local localhttp_userdir="$localhttp[3]"
diff --git a/Completion/User/_users b/Completion/User/_users
index 8ddfd8cd7..45ed0f89d 100644
--- a/Completion/User/_users
+++ b/Completion/User/_users
@@ -7,7 +7,7 @@ local expl users
_wanted users expl user || return 1
-_style -a users users users &&
+zstyle -a ":completion${curcontext}:users" users users &&
compadd "$expl[@]" "$@" - "$users[@]" && return 0
compadd "$@" "$expl[@]" - "${(@k)userdirs}"
diff --git a/Completion/X/_x_color b/Completion/X/_x_color
index 2daeb51d6..592667c40 100644
--- a/Completion/X/_x_color
+++ b/Completion/X/_x_color
@@ -15,7 +15,7 @@ if (( ! $+_color_cache )); then
# Cache of color names doesn't exist yet, create it.
- _style -s colors path file
+ zstyle -s ":completion${curcontext}:colors" path file
if [[ -n "$file" ]]; then
_color_cache=( "${(@)${(@f)$(< $file)}[2,-1]##* }" )
else