summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOliver Kiddle <opk@users.sourceforge.net>2000-05-12 13:16:52 +0000
committerOliver Kiddle <opk@users.sourceforge.net>2000-05-12 13:16:52 +0000
commit56caa787a6660d5a5aa7531b1fe773332900d77d (patch)
tree46d3516cb61aab58f242389012abe6757bd5668f
parent984bae21ba24710ff1fd24a8b9271ca4c89efbb4 (diff)
downloadzsh-56caa787a6660d5a5aa7531b1fe773332900d77d.tar.gz
zsh-56caa787a6660d5a5aa7531b1fe773332900d77d.zip
Use _arguments for hash completion and add + options for typeset (11347)
-rw-r--r--ChangeLog5
-rw-r--r--Completion/Builtins/_hash43
-rw-r--r--Completion/Builtins/_vars_eq16
3 files changed, 45 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index 2b8552ff1..3d1179e99 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/Completion/Builtins/_hash b/Completion/Builtins/_hash
index 0bda9df44..e748028fb 100644
--- a/Completion/Builtins/_hash
+++ b/Completion/Builtins/_hash
@@ -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
diff --git a/Completion/Builtins/_vars_eq b/Completion/Builtins/_vars_eq
index 4c2f6ae7c..e66600852 100644
--- a/Completion/Builtins/_vars_eq
+++ b/Completion/Builtins/_vars_eq
@@ -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"