diff options
author | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 11:28:48 +0000 |
---|---|---|
committer | Sven Wischnowsky <wischnow@users.sourceforge.net> | 2001-04-02 11:28:48 +0000 |
commit | 39ee4570ab92ca460c3e4f027669d856a3f922cd (patch) | |
tree | 1319dbc9e9f4b84599edf5f9d0fc468519bab24c /Completion/Zsh | |
parent | 3ab76d9119e112b508a7f826a2e7840300864f68 (diff) | |
download | zsh-39ee4570ab92ca460c3e4f027669d856a3f922cd.tar.gz zsh-39ee4570ab92ca460c3e4f027669d856a3f922cd.tar.xz zsh-39ee4570ab92ca460c3e4f027669d856a3f922cd.zip |
moved from Completion/Builtins/_hash
Diffstat (limited to 'Completion/Zsh')
-rw-r--r-- | Completion/Zsh/Command/_hash | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Completion/Zsh/Command/_hash b/Completion/Zsh/Command/_hash new file mode 100644 index 000000000..4b2a8a6ca --- /dev/null +++ b/Completion/Zsh/Command/_hash @@ -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 |