Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: PATCH: context names
- X-seq: zsh-workers 9731
- From: Sven Wischnowsky <wischnow@xxxxxxxxxxxxxxxxxxxxxxx>
- To: zsh-workers@xxxxxxxxxxxxxx
- Subject: Re: PATCH: context names
- Date: Tue, 15 Feb 2000 10:02:59 +0100 (MET)
- In-reply-to: Peter Stephenson's message of Fri, 11 Feb 2000 19:16:46 +0000
- Mailing-list: contact zsh-workers-help@xxxxxxxxxxxxxx; run by ezmlm
Peter Stephenson wrote:
> ...
>
> In any case, I'm gradually coming round to the view that the defaults for
> styles should be hard-wired into the functions (i.e. should be set as
> values internally if style retrieval failed). The big drawback is you
> can't see them with `zstyle'. However, they are almost always the
> simplest, most basic behaviour, so I don't think that's a big problem (they
> should of course be documented anyway). It's pretty normal for settings of
> any kind to have builtin defaults which you don't see. The benefits are
> presumably obvious: everything the user enters takes precedence, nothing
> bogus (that will never be used) shows up with zstyle, nothing needs
> deleting.
If we all agree that this is the right way to go... the patch is below.
This also `fixes' what Bart said in 9725, i.e., since it makes
`_complete' the implicit default for the completer style in every
context, completion works in predict again (but one can still say
`zstyle ":completion:predict:*" completer ...' of course).
There are also some other hunks for the completion code mostly for
some small changes (like avoiding an `if' when we are only setting a
parameter). But this also removes the _*_tags arrays from
_main_complete and _tags. I added them thinking about a bindable
command that would allow us to switch from one set of completion to
another. If we ever come around to implementing this we could make it
use the same trick used in _complete_help, so there wasn't any real
use for those arrays.
The hunks in zutil.c add the -T option to zstyle. It's the same as -t
but returns zero if the style is not set -- drastically simplifying
the test for styles that default to `true'.
One last comment: note that this makes the verbose style still default
to `true'. Probably not the `most basic' behaviour. But I'd like to
compare it to ALWAYS_LAST_PROMPT, i.e.: will users find out about it
if we make it default to `false'?
Bye
Sven
diff -ru ../z.old/Completion/Base/_arguments Completion/Base/_arguments
--- ../z.old/Completion/Base/_arguments Tue Feb 15 09:02:43 2000
+++ Completion/Base/_arguments Tue Feb 15 09:41:17 2000
@@ -17,9 +17,8 @@
fi
name=${~words[1]}
- if [[ "$name" != /* ]]; then
- tmp="$PWD/$name"
- fi
+ [[ "$name" != /* ]] && tmp="$PWD/$name"
+
name="_args_cache_${name}"
name="${name//[^a-zA-Z0-9_]/_}"
@@ -255,7 +254,7 @@
fi
if [[ -z "$matched" ]] && _requested options &&
- { ! zstyle -t ":completion:${curcontext}:options" prefix-needed ||
+ { ! zstyle -T ":completion:${curcontext}:options" prefix-needed ||
[[ "$origpre" = [-+]* ||
( -z "$aret$mesg" && nm -eq compstate[nmatches] ) ]] } ; then
local prevpre="$PREFIX" previpre="$IPREFIX"
diff -ru ../z.old/Completion/Base/_describe Completion/Base/_describe
--- ../z.old/Completion/Base/_describe Tue Feb 15 09:02:44 2000
+++ Completion/Base/_describe Tue Feb 15 09:40:37 2000
@@ -16,7 +16,7 @@
_tags "$_type" || return 1
-zstyle -t ":completion:${curcontext}:$_type" verbose && _showd=yes
+zstyle -T ":completion:${curcontext}:$_type" verbose && _showd=yes
_description "$_type" _expl "$1"
shift
diff -ru ../z.old/Completion/Base/_jobs Completion/Base/_jobs
--- ../z.old/Completion/Base/_jobs Tue Feb 15 09:02:44 2000
+++ Completion/Base/_jobs Tue Feb 15 09:40:37 2000
@@ -5,12 +5,12 @@
_tags jobs || return 1
if [[ "$1" = -t ]]; then
- zstyle -t ":completion:${curcontext}:jobs" prefix-needed &&
+ zstyle -T ":completion:${curcontext}:jobs" prefix-needed &&
[[ "$PREFIX" != %* && compstate[nmatches] -ne 0 ]] && return 1
shift
fi
zstyle -t ":completion:${curcontext}:jobs" prefix-hidden && pfx=''
-zstyle -t ":completion:${curcontext}:jobs" verbose && desc=yes
+zstyle -T ":completion:${curcontext}:jobs" verbose && desc=yes
if [[ "$1" = -r ]]; then
jids=( "${(@k)jobstates[(R)running*]}" )
diff -ru ../z.old/Completion/Base/_subscript Completion/Base/_subscript
--- ../z.old/Completion/Base/_subscript Tue Feb 15 09:02:44 2000
+++ Completion/Base/_subscript Tue Feb 15 09:40:38 2000
@@ -21,7 +21,7 @@
while _tags; do
if _requested -V indexes expl 'array index'; then
ind=( {1..${#${(P)${compstate[parameter]}}}} )
- if zstyle -t ":completion:${curcontext}:indexes" verbose; then
+ if zstyle -T ":completion:${curcontext}:indexes" verbose; then
list=()
for i in "$ind[@]"; do
[[ "$i" = ${PREFIX}*${SUFFIX} ]] &&
diff -ru ../z.old/Completion/Base/_tilde Completion/Base/_tilde
--- ../z.old/Completion/Base/_tilde Tue Feb 15 09:02:45 2000
+++ Completion/Base/_tilde Tue Feb 15 09:40:38 2000
@@ -22,9 +22,9 @@
compadd "$suf[@]" "$expl[@]" "$@" - "${(@k)nameddirs}"
if _requested -V directory-stack expl 'directory stack' &&
- { ! zstyle -t ":completion:${curcontext}:directory-stack" prefix-needed ||
+ { ! zstyle -T ":completion:${curcontext}:directory-stack" prefix-needed ||
[[ "$PREFIX" = [-+]* || nm -eq compstate[nmatches] ]] }; then
- if zstyle -t ":completion:${curcontext}:directory-stack" verbose; then
+ if zstyle -T ":completion:${curcontext}:directory-stack" verbose; then
integer i
lines=("${PWD}" "${dirstack[@]}")
diff -ru ../z.old/Completion/Builtins/_pids Completion/Builtins/_pids
--- ../z.old/Completion/Builtins/_pids Tue Feb 15 09:02:47 2000
+++ Completion/Builtins/_pids Tue Feb 15 09:40:38 2000
@@ -16,7 +16,7 @@
out="$(command ps $args 2>/dev/null)"
-if zstyle -t ":completion:${curcontext}:processes" verbose; then
+if zstyle -T ":completion:${curcontext}:processes" verbose; then
zstyle -a ":completion:${curcontext}:ps" list-arguments listargs
(( $#listargs )) || listargs=( "$args[@]" )
if [[ "$listargs" = "$args" ]]; then
diff -ru ../z.old/Completion/Builtins/_popd Completion/Builtins/_popd
--- ../z.old/Completion/Builtins/_popd Tue Feb 15 09:02:47 2000
+++ Completion/Builtins/_popd Tue Feb 15 09:40:38 2000
@@ -11,10 +11,10 @@
_wanted -V directory-stack expl 'directory stack' || return 1
-! zstyle -t ":completion:${curcontext}:directory-stack" prefix-needed ||
+! zstyle -T ":completion:${curcontext}:directory-stack" prefix-needed ||
[[ $PREFIX = [-+]* ]] || return 1
-if zstyle -t ":completion:${curcontext}: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=("${dirstack[@]}")
diff -ru ../z.old/Completion/Builtins/_sched Completion/Builtins/_sched
--- ../z.old/Completion/Builtins/_sched Tue Feb 15 09:02:47 2000
+++ Completion/Builtins/_sched Tue Feb 15 09:40:38 2000
@@ -7,7 +7,7 @@
_wanted -C - jobs expl 'scheduled jobs' || return 1
lines=(${(f)"$(sched)"})
- if zstyle -t ":completion:${curcontext}:jobs" verbose; then
+ if zstyle -T ":completion:${curcontext}:jobs" verbose; then
disp=( -ld lines )
else
disp=()
diff -ru ../z.old/Completion/Builtins/_signals Completion/Builtins/_signals
--- ../z.old/Completion/Builtins/_signals Tue Feb 15 09:02:47 2000
+++ Completion/Builtins/_signals Tue Feb 15 09:40:38 2000
@@ -22,7 +22,7 @@
if _wanted signals expl signal &&
{ [[ -z "$minus" ]] ||
- ! zstyle -t ":completion:${curcontext}:signals" prefix-needed ||
+ ! zstyle -T ":completion:${curcontext}:signals" prefix-needed ||
[[ "$PREFIX" = -* ]] } ; then
local disp tmp
diff -ru ../z.old/Completion/Builtins/_stat Completion/Builtins/_stat
--- ../z.old/Completion/Builtins/_stat Tue Feb 15 09:02:48 2000
+++ Completion/Builtins/_stat Tue Feb 15 09:40:39 2000
@@ -10,7 +10,7 @@
while _tags; do
_requested files && _files && ret=0
_requested options expl 'inode element' &&
- { ! zstyle -t ":completion:${curcontext}:options" prefix-needed ||
+ { ! zstyle -T ":completion:${curcontext}:options" prefix-needed ||
[[ "$PREFIX[1]" = + || ret -eq 1 ]] } &&
compadd "$expl[@]" - +device +inode +mode +nlink +uid +gid +rdev \
+size +atime +mtime +ctime +blksize +block +link
diff -ru ../z.old/Completion/Core/_approximate Completion/Core/_approximate
--- ../z.old/Completion/Core/_approximate Tue Feb 15 09:02:51 2000
+++ Completion/Core/_approximate Tue Feb 15 09:40:39 2000
@@ -17,7 +17,7 @@
oldcontext="$curcontext"
-zstyle -s ":completion:${curcontext}:" max-errors cfgacc
+zstyle -s ":completion:${curcontext}:" max-errors cfgacc || cfgacc='2 numeric'
# Get the number of errors to accept.
diff -ru ../z.old/Completion/Core/_files Completion/Core/_files
--- ../z.old/Completion/Core/_files Tue Feb 15 09:02:52 2000
+++ Completion/Core/_files Tue Feb 15 09:40:39 2000
@@ -16,17 +16,14 @@
fi
(( $opts[(I)-F] )) && hasign=yes
-if [[ "$group[2]" = files ]]; then
- opts=("$opts[@]" "$group[@]")
- group=()
-fi
+[[ "$group[2]" = files ]] && opts=("$opts[@]" "$group[@]") group=()
ign=()
-if zstyle -s ":completion:${curcontext}:all-files" file-patterns tmp &&
- [[ -n "$tmp" ]]; then
- aopts=(-g "$tmp")
-fi
+zstyle -s ":completion:${curcontext}:all-files" file-patterns tmp &&
+ [[ -n "$tmp" ]] &&
+ aopts=(-g "$tmp")
+
if zstyle -s ":completion:${curcontext}:directories" file-patterns tmp &&
[[ -n "$tmp" ]]; then
dopts=(-g "$tmp")
diff -ru ../z.old/Completion/Core/_main_complete Completion/Core/_main_complete
--- ../z.old/Completion/Core/_main_complete Tue Feb 15 09:02:52 2000
+++ Completion/Core/_main_complete Tue Feb 15 09:40:39 2000
@@ -19,7 +19,7 @@
setopt localoptions nullglob rcexpandparam extendedglob
unsetopt markdirs globsubst shwordsplit nounset ksharrays
-local comp post ret=1 _compskip _prio_num=1 format _comp_ignore \
+local comp post ret=1 _compskip format _comp_ignore \
_completers _completers_left _comp_matcher \
context state line opt_args val_args curcontext="$curcontext" \
_last_nmatches=-1 _last_menu_style _def_menu_style _menu_style sel \
@@ -28,12 +28,6 @@
_saved_list="${compstate[list]}" \
_saved_insert="${compstate[insert]}"
-typeset -U _offered_tags _tried_tags _failed_tags _used_tags _unused_tags
-
-_offered_tags=()
-_tried_tags=()
-_failed_tags=()
-
typeset -U _lastdescr
[[ -z "$curcontext" ]] && curcontext=:::
@@ -50,17 +44,13 @@
# Initial setup.
_setup default
-_def_menu_style=( "$_last_menu_style[@]" )
+_def_menu_style=( "$_last_menu_style[@]"
+ ${SELECTMIN+select${SELECTMIN:+\=$SELECTMIN}} )
_last_menu_style=()
# Get the names of the completers to use in the positional parameters.
-if (( ! $# )); then
- local tmp
-
- zstyle -a ":completion:${curcontext}:" completer tmp
- set -- "$tmp[@]"
-fi
+(( $# )) || zstyle -a ":completion:${curcontext}:" completer argv || set _complete
# And now just call the completer functions defined.
@@ -75,7 +65,7 @@
shift 1 _completers_left
done
-if (( $compstate[nmatches] )); then
+if [[ $compstate[nmatches] -gt 1 ]]; then
[[ _last_nmatches -ge 0 && _last_nmatches -ne compstate[nmatches] ]] &&
_menu_style=( "$_last_menu_style[@]" "$_menu_style[@]" )
@@ -128,7 +118,7 @@
fi
fi
fi
-elif [[ $#_lastdescr -ne 0 ]] &&
+elif [[ $compstate[nmatches] -eq 0 && $#_lastdescr -ne 0 ]] &&
zstyle -s ":completion:${curcontext}:warnings" format format; then
local str
@@ -147,11 +137,6 @@
compadd -UX "$format" -n ''
fi
-# See which tags were or were not used.
-
-_used_tags=( "${(@)_tried_tags:#${(j:|:)~${(@)_failed_tags//\[/\\[}//\]/\\]}}" )
-_unused_tags=( "${(@)_offered_tags:#${(j:|:)~${(@)_used_tags//\[/\\[}//\]/\\]}}" )
-
# Now call the post-functions.
for post in "$comppostfuncs[@]"; do
@@ -167,10 +152,5 @@
_lastcomp[isuffix]="$ISUFFIX"
_lastcomp[qiprefix]="$QIPREFIX"
_lastcomp[qisuffix]="$QISUFFIX"
-_lastcomp[offered_tags]="${(j.:.)_offered_tags}"
-_lastcomp[tried_tags]="${(j.:.)_tried_tags}"
-_lastcomp[failed_tags]="${(j.:.)_failed_tags}"
-_lastcomp[unused_tags]="${(j.:.)_unused_tags}"
-_lastcomp[used_tags]="${(j.:.)_used_tags}"
return ret
diff -ru ../z.old/Completion/Core/_normal Completion/Core/_normal
--- ../z.old/Completion/Core/_normal Tue Feb 15 09:02:53 2000
+++ Completion/Core/_normal Tue Feb 15 09:40:39 2000
@@ -66,10 +66,7 @@
name="$cmd1"
comp="$_comps[$cmd1]"
-if [[ -z "$comp" ]]; then
- name="$cmd2"
- comp="$_comps[$cmd2]"
-fi
+[[ -z "$comp" ]] && name="$cmd2" comp="$_comps[$cmd2]"
# And generate the matches, probably using default completion.
@@ -77,11 +74,9 @@
_compskip=patterns
"$comp" && ret=0
[[ "$_compskip" = (all|*patterns*) ]] && return ret
-else
- if [[ "$_compskip" != *default* ]]; then
- name=-default-
- comp="$_comps[-default-]"
- fi
+elif [[ "$_compskip" != *default* ]]; then
+ name=-default-
+ comp="$_comps[-default-]"
fi
if [[ "$_compskip" != (all|*patterns*) ]]; then
diff -ru ../z.old/Completion/Core/_path_files Completion/Core/_path_files
--- ../z.old/Completion/Core/_path_files Tue Feb 15 09:02:53 2000
+++ Completion/Core/_path_files Tue Feb 15 09:40:40 2000
@@ -290,7 +290,7 @@
tmp2=( "$tmp1[@]" )
builtin compadd -D tmp1 -F _comp_ignore "$matcher[@]" - "${(@)tmp1:t}"
- if [[ $#tmp1 -eq 0 && -n "$_comp_correct" ]]; then
+ if [[ $#tmp1 -eq 0 ]]; then
tmp1=( "$tmp2[@]" )
compadd -D tmp1 -F _comp_ignore "$matcher[@]" - "${(@)tmp2:t}"
fi
@@ -334,7 +334,7 @@
if [[ -z "$tpre$tsuf" && -n "$pre$suf" ]]; then
pfxsfx=(-S '' "$pfxsfx[@]")
- break;
+ break
elif [[ "$haspats" = no && -z "$tpre$tsuf" &&
"$pre" = */ && -z "$suf" ]]; then
PREFIX="${opre}"
@@ -352,8 +352,8 @@
if [[ "$rem" = *parent* ]]; then
for i in ${(M)^tmp1:#*/*}(-/); do
remt="${${i#$prepath$realpath$donepath}%/*}"
- while [[ "$remt" = */* ]]; do
- [[ "$prepath$realpath$donepath$remt" -ef "$i" ]] && break
+ while [[ "$remt" = */* &&
+ ! "$prepath$realpath$donepath$remt" -ef "$i" ]]; do
remt="${remt%/*}"
done
[[ "$remt" = */* || "$remt" -ef "$i" ]] &&
@@ -406,9 +406,7 @@
if [[ "$tmp3" = */* ]]; then
tmp4=( "${(@M)tmp1:#${tmp3%%/*}/*}" )
- if (( $#tmp4 )); then
- tmp1=( "$tmp4[@]" )
- fi
+ (( $#tmp4 )) && tmp1=( "$tmp4[@]" )
fi
# Next we see if this component is ambiguous.
diff -ru ../z.old/Completion/Core/_setup Completion/Core/_setup
--- ../z.old/Completion/Core/_setup Tue Feb 15 09:02:53 2000
+++ Completion/Core/_setup Tue Feb 15 09:40:40 2000
@@ -3,12 +3,15 @@
local val nm="$compstate[nmatches]"
if zstyle -a ":completion:${curcontext}:$1" list-colors val; then
- zmodload -e zsh/complist || zmodload -i zsh/complist
+ zmodload -i zsh/complist
if [[ "$1" = default ]]; then
ZLS_COLORS="${(j.:.)${(@)val:gs/:/\\\:}}"
else
eval "ZLS_COLORS=\"(${1})\${(j.:(${1}).)\${(@)val:gs/:/\\\:}}:\${ZLS_COLORS}\""
fi
+elif [[ "$1" = default && -n "$ZLS_COLORS$ZLS_COLOURS" ]]; then
+ zmodload -i zsh/complist
+ ZLS_COLORS="$ZLS_COLORS$ZLS_COLOURS"
fi
if zstyle -s ":completion:${curcontext}:$1" list-packed val; then
diff -ru ../z.old/Completion/Core/_tags Completion/Core/_tags
--- ../z.old/Completion/Core/_tags Tue Feb 15 09:02:54 2000
+++ Completion/Core/_tags Tue Feb 15 09:40:40 2000
@@ -35,9 +35,6 @@
comptags -i "$curcontext" "$@"
- _offered_tags=( "$_offered_tags[@]" "$@" )
- _last_tags=()
-
# Sort the tags.
if [[ -n "$_sort_tags" ]]; then
@@ -55,6 +52,15 @@
[[ -z "$nodef" ]] && comptry "$@"
else
+
+ # The first ones give the default behaviour.
+
+ comptry arguments values
+ comptry options
+ comptry globbed-files
+ comptry directories
+ comptry all-files
+
comptry "$@"
fi
@@ -67,20 +73,4 @@
# The other mode: switch to the next set of tags.
-local tags
-
-_failed_tags=( "$_failed_tags[@]" "$_last_tags[@]" )
-
-# Return failure if no sets remaining.
-
-comptags -N || return 1
-
-# Otherwise get the next tags.
-
-comptags -S _last_tags
-
-_tried_tags=( "$_tried_tags[@]" "$_last_tags[@]" )
-
-shift 1 "$prios"
-
-return 0
+comptags -N
diff -ru ../z.old/Completion/Core/compinit Completion/Core/compinit
--- ../z.old/Completion/Core/compinit Tue Feb 15 09:02:54 2000
+++ Completion/Core/compinit Tue Feb 15 09:40:40 2000
@@ -470,19 +470,6 @@
return 0
}
-# Default styles. This should be executed conditionally somehow.
-
-zstyle ':completion:*' verbose 'yes'
-zstyle ':completion:*' prefix-needed 'yes'
-zstyle ':completion:*' prefix-hidden 'no'
-zstyle ':completion:*:(correct|approximate):*' max-errors '2' numeric
-zstyle ':completion:*:correct:*' prompt 'correct to:'
-zstyle ':completion:*::::' completer '_complete'
-zstyle ':completion:*::::default' list-colors "${(s.:.)ZLS_COLORS:-${ZLS_COLOURS:-no=0:fi=0:di=0:ln=0:pi=0:so=0:bd=0:cd=0:ex=0}}"
-(( $+SELECTMIN )) && zstyle ':completion:*::::default' menu "select=$SELECTMIN"
-zstyle ':completion:*' tag-order 'arguments values' options \
- globbed-files directories all-files
-
# Now we automatically make the definition files autoloaded.
typeset -U _i_files
diff -ru ../z.old/Completion/Debian/_apt Completion/Debian/_apt
--- ../z.old/Completion/Debian/_apt Tue Feb 15 09:02:55 2000
+++ Completion/Debian/_apt Tue Feb 15 09:40:40 2000
@@ -106,7 +106,7 @@
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='{ ! zstyle -t ":completion:${curcontext}: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 -ru ../z.old/Completion/User/_lp Completion/User/_lp
--- ../z.old/Completion/User/_lp Tue Feb 15 09:02:58 2000
+++ Completion/User/_lp Tue Feb 15 09:40:41 2000
@@ -37,7 +37,7 @@
if compset -P -P || [[ "$words[CURRENT-1]" = -P ]]; then
if _wanted printers expl printer; then
- if zstyle -t ":completion:${curcontext}:printers" verbose; then
+ if zstyle -T ":completion:${curcontext}:printers" verbose; then
zformat -a list ' -- ' "$_lp_cache[@]"
disp=(-ld list)
else
@@ -47,7 +47,7 @@
(( $+_lp_alias_cache )) || return 1
- if zstyle -t ":completion:${curcontext}:printers" verbose; then
+ if zstyle -T ":completion:${curcontext}:printers" verbose; then
zformat -a list ' -- ' "$_lp_alias_cache[@]"
disp=(-ld list)
else
@@ -73,7 +73,7 @@
if _requested users expl user; then
strs=( "${(@)${(@)list##[^ ]##[ ]##[^ ]##[ ]##}%%[ ]*}" )
if [[ -z "$shown" ]] &&
- zstyle -t ":completion:${curcontext}:users" verbose; then
+ zstyle -T ":completion:${curcontext}:users" verbose; then
disp=(-ld list)
shown=yes
else
@@ -84,7 +84,7 @@
if _requested jobs expl job; then
strs=( "${(@)${(@)list##[^ ]##[ ]##[^ ]##[ ]##[^ ]##[ ]##}%%[ ]*}" )
if [[ -z "$shown" ]] &&
- zstyle -t ":completion:${curcontext}:jobs" verbose; then
+ zstyle -T ":completion:${curcontext}:jobs" verbose; then
disp=(-ld list)
shown=yes
else
diff -ru ../z.old/Completion/User/_socket Completion/User/_socket
--- ../z.old/Completion/User/_socket Tue Feb 15 09:03:00 2000
+++ Completion/User/_socket Tue Feb 15 09:40:41 2000
@@ -9,7 +9,7 @@
typeset -A opt_args
[[ $CURRENT -eq 2 ]] && _wanted options expl option &&
- { ! zstyle -t ":completion:${curcontext}:options" prefix-needed ||
+ { ! zstyle -T ":completion:${curcontext}:options" prefix-needed ||
[[ "$PREFIX" = -* ]] } &&
compadd -M 'r:|[_-]=* r:|=*' "$expl[@]" - -version
diff -ru ../z.old/Doc/Zsh/compsys.yo Doc/Zsh/compsys.yo
--- ../z.old/Doc/Zsh/compsys.yo Tue Feb 15 09:02:32 2000
+++ Doc/Zsh/compsys.yo Tue Feb 15 09:40:41 2000
@@ -713,6 +713,9 @@
example(zstyle ':completion:::::' completer _complete _correct _approximate
zstyle ':completion:incremental::::' completer _complete _correct
zstyle ':completion:predict::::' completer _complete)
+
+The default value for this style is tt(_complete), i.e. normally only
+completion will be done.
)
item(tt(completions))(
This style is used by the tt(_expand) completer function.
@@ -1115,7 +1118,10 @@
completions when given a numeric argument, so in this case the number given
should be greater than zero. For example, `tt(2 not-numeric)' specifies that
correcting completion with two errors will usually be performed, but if a
-numeric argument is given, correcting completion will not be performed.
+numeric argument is given, correcting completion will not be
+performed.
+
+The default value for this style contains tt(2) and tt(numeric).
)
item(tt(menu))(
This style is tested for the tt(default) tag and the tags used when
@@ -1219,6 +1225,8 @@
This is used when matches with a common prefix are added (e.g. option
names). If it is `true', this prefix will not be shown in the list of
matches.
+
+The default value for this style is `false'.
)
item(tt(prefix-needed))(
This, too, is used for matches with a common prefix. If it is set to
@@ -1226,6 +1234,8 @@
matches. E.g. for options this means that the `tt(-)', `tt(+)', or
`tt(-)tt(-)' has to be on the line to make option names be completed at
all.
+
+The default style for this style is `true'.
)
item(tt(prompt))(
The tt(incremental-complete-word) widget shows the value of this
@@ -1344,7 +1354,10 @@
information. See the tt(_sort_tags) function below for a description
of how such functions can be implemented.
-If no style has been defined for a context, all tags will be used.
+If no style has been defined for a context, the strings tt(arguments
+values), tt(options), tt(globbed-files), tt(directories) and
+tt(all-files) plus all tags offered by the completion function will be
+used.
)
item(tt(users))(
This may be set to a list of names that should be completed whenever
@@ -1369,7 +1382,9 @@
item(tt(verbose))(
This is used in several contexts to decide if only a simple or a
verbose list of matches should be generated. For example some commands
-show descriptions for option names if this style is true.
+show descriptions for option names if this style is `true'.
+
+The default value for this style is `true'.
)
item(tt(word))(
To find out if listing should be performed on its own, the tt(_list)
diff -ru ../z.old/Doc/Zsh/mod_zutil.yo Doc/Zsh/mod_zutil.yo
--- ../z.old/Doc/Zsh/mod_zutil.yo Tue Feb 15 09:02:35 2000
+++ Doc/Zsh/mod_zutil.yo Tue Feb 15 09:40:42 2000
@@ -15,6 +15,7 @@
xitem(tt(zstyle -a) var(context) var(style) var(name))
xitem(tt(zstyle -h) var(context) var(style) var(name))
xitem(tt(zstyle -t) var(context) var(style) [ var(strings) ...])
+xitem(tt(zstyle -T) var(context) var(style) [ var(strings) ...])
item(tt(zstyle -m) var(context) var(style) var(pattern))(
This builtin command is used to define and lookup styles. Styles are
pairs of names and values, where the values consist of any number of
@@ -63,13 +64,16 @@
etc. string being used as the keys and the other strings being used as
the values).
-The tt(-t) option can be used to test the value of a style, i.e. it
+The tt(-t) options can be used to test the value of a style, i.e. it
only sets the return value. Without any var(strings) arguments it is
zero if the style is defined for at least one matching pattern, has
only one string in its value and that is equal to one of tt(true),
tt(yes), tt(on) or tt(1). If any var(strings) are given the return
zero if and only if at least one of the var(strings) is equal to at
least one of the strings in the value.
+
+The tt(-T) option is like tt(-t) but returns zero if the style is not
+set for any matching pattern.
The tt(-m) option can be used to match a value. It returns zero if the
var(pattern) matches at least one of the strings in the value.
diff -ru ../z.old/Src/Modules/zutil.c Src/Modules/zutil.c
--- ../z.old/Src/Modules/zutil.c Tue Feb 15 09:02:30 2000
+++ Src/Modules/zutil.c Tue Feb 15 09:40:42 2000
@@ -285,6 +285,7 @@
case 'a': min = 3; max = 3; break;
case 'h': min = 3; max = 3; break;
case 't': min = 2; max = -1; break;
+ case 'T': min = 2; max = -1; break;
case 'm': min = 3; max = 3; break;
case 'g': min = 1; max = 3; break;
default:
@@ -417,6 +418,7 @@
}
break;
case 't':
+ case 'T':
{
Stypat s;
@@ -438,7 +440,7 @@
!strcmp(s->vals[0], "on") ||
!strcmp(s->vals[0], "1"));
}
- return 1;
+ return (args[0][1] == 't');
}
break;
case 'm':
--
Sven Wischnowsky wischnow@xxxxxxxxxxxxxxxxxxxxxxx
Messages sorted by:
Reverse Date,
Date,
Thread,
Author