mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-10-02 08:51:18 +02:00
Use _arguments for hash completion and add + options for typeset (11347)
This commit is contained in:
parent
984bae21ba
commit
56caa787a6
@ -1,3 +1,8 @@
|
||||
2000-05-12 Oliver Kiddle <opk@zsh.org>
|
||||
|
||||
* 11347: Completion/Builtins/_hash, Completion/Builtins/_vars_eq:
|
||||
use _arguments for hash completion and add + options for typeset
|
||||
|
||||
2000-05-12 Sven Wischnowsky <wischnow@zsh.org>
|
||||
|
||||
* 11346: Src/Zle/compmatch.c, Src/Zle/compresult.c: fixes for
|
||||
|
@ -1,16 +1,37 @@
|
||||
#compdef hash
|
||||
#compdef hash rehash
|
||||
|
||||
local expl
|
||||
local state line expl common_args curcontext="$curcontext"
|
||||
typeset -A opt_args
|
||||
|
||||
if [[ "$words[2]" = -*d* ]]; then
|
||||
if compset -P 1 '*='; then
|
||||
_wanted -C -d-value files expl directories _path_files -/
|
||||
common_args=( \
|
||||
'-d[use named directory hash table]' \
|
||||
'(-r -m -v)-f[rebuild hash table]' )
|
||||
|
||||
case ${words[1]} in
|
||||
hash)
|
||||
_arguments -C -s \
|
||||
'(-f -m -v)-r[empty hash table]' \
|
||||
'(-f -r)-m[treat arguments as patterns]' \
|
||||
'(-f -r -m)-v[list entires as they are added]' \
|
||||
"${common_args[@]}" \
|
||||
'(-d -f -r -m -v)*:hash:->hashval' && return 0
|
||||
;;
|
||||
rehash)
|
||||
_arguments -C -s ${common_args[@]} && return 0
|
||||
;;
|
||||
esac
|
||||
|
||||
if [[ $state = hashval ]]; then
|
||||
if (( $+opt_args[-d] )); then
|
||||
if compset -P 1 '*='; then
|
||||
_wanted -C value files expl directories _path_files -/
|
||||
else
|
||||
_wanted -C name named-directories expl 'named directory' \
|
||||
compadd -q -S '=' - "${(@k)nameddirs}"
|
||||
fi
|
||||
elif compset -P 1 '*='; then
|
||||
_wanted -C value values expl 'executable file' _files -g '*(-*)'
|
||||
else
|
||||
_wanted -C -d named-directories expl 'named directory' \
|
||||
compadd -q -S '=' - "${(@k)nameddirs}"
|
||||
_wanted -C name commands expl command compadd -q -S '=' - "${(@k)commands}"
|
||||
fi
|
||||
elif compset -P 1 '*='; then
|
||||
_wanted -C value values expl 'executable file' _files -g '*(-*)'
|
||||
else
|
||||
_wanted -C name commands expl command compadd -q -S '=' - "${(@k)commands}"
|
||||
fi
|
||||
|
@ -17,19 +17,19 @@ allargs=( \
|
||||
Z '(-A -E -F -f -i)-Z+[right justify and fill with leading zeros]:width' \
|
||||
a '(-A -E -F -T -f -i)-a[specify that arguments refer to arrays]' \
|
||||
f '(-A -E -F -L -R -T -Z -a -g -h -i -l -r -x)-f[specify that arguments refer to functions]' \
|
||||
g '(-T -f)-g[do not restrict parameter to local scope]' \
|
||||
h '(-T -f)-h[hide parameter]' \
|
||||
i '(-A -E -F -T -f)-i[represent internally as an integer]' \
|
||||
g '(-T -f)-+g[do not restrict parameter to local scope]' \
|
||||
h '(-T -f)-+h[hide parameter]' \
|
||||
i '(-A -E -F -T -f)-+i[represent internally as an integer]' \
|
||||
l '(-T -f)-l[convert the value to lowercase]' \
|
||||
m '(-A -E -F -T -i)-m[treat arguments as patterns]' \
|
||||
r '(-f)-r[mark parameters as readonly]' \
|
||||
t '(-T)-t[tag parameters and turn on execution tracing for functions]' \
|
||||
tf '(-T)-t[turn on execution tracing for functions]' \
|
||||
tp '(-T)-t[tag parameters]' \
|
||||
r '(-f)-+r[mark parameters as readonly]' \
|
||||
t '(-T)-+t[tag parameters and turn on execution tracing for functions]' \
|
||||
tf '(-T)-+t[turn on execution tracing for functions]' \
|
||||
tp '(-T)-+t[tag parameters]' \
|
||||
u '-u[convert the value to uppercase or mark function for autoloading]' \
|
||||
uf '-u[mark function for autoloadling]' \
|
||||
up '-u[convert the value to uppercase]' \
|
||||
x '(-f)-x[export parameter]' )
|
||||
x '(-f)-+x[export parameter]' )
|
||||
|
||||
use="AEFLRTUZafghilmrtux"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user