diff options
Diffstat (limited to 'Completion')
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 |