1234567891011121314151617181920212223242526272829303132333435 |
- #compdef watson
- _watson_completion() {
- local -a completions
- local -a completions_with_descriptions
- local -a response
- (( ! $+commands[watson] )) && return 1
- response=("${(@f)$(env COMP_WORDS="${words[*]}" COMP_CWORD=$((CURRENT-1)) _WATSON_COMPLETE=zsh_complete watson)}")
- for type key descr in ${response}; do
- if [[ "$type" == "plain" ]]; then
- if [[ "$descr" == "_" ]]; then
- completions+=("$key")
- else
- completions_with_descriptions+=("$key":"$descr")
- fi
- elif [[ "$type" == "dir" ]]; then
- _path_files -/
- elif [[ "$type" == "file" ]]; then
- _path_files -f
- fi
- done
- if [ -n "$completions_with_descriptions" ]; then
- _describe -V unsorted completions_with_descriptions -U
- fi
- if [ -n "$completions" ]; then
- compadd -U -V unsorted -a completions
- fi
- }
- compdef _watson_completion watson;
|