1
0
mirror of git://git.code.sf.net/p/zsh/code synced 2024-10-02 17:01:19 +02:00

moved from Completion/Builtins/_hash

This commit is contained in:
Sven Wischnowsky 2001-04-02 11:28:48 +00:00
parent 3ab76d9119
commit 39ee4570ab

@ -0,0 +1,38 @@
#compdef hash rehash
local state line expl common_args curcontext="$curcontext"
typeset -A opt_args
common_args=( \
'-d[use named directory hash table]' \
'(-r -m -v)-f[rebuild hash table]' )
case ${service} in
hash)
_arguments -C -s -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]' \
'(-f -r -v)-L[list in the form of calls to hash]' \
"${common_args[@]}" \
'(-d -f -r -m -v -L)*: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 name commands expl command compadd -q -S '=' -k commands
fi
fi