Simplify zsh completion

Completion file shouldn't be sourced. It should provide only completion
code (source of _command) for command. It's task for package manager or
user to put under $fpath.
This commit is contained in:
Ihor Urazov 2021-01-14 21:14:32 +02:00 committed by Dan Buch
parent 7b2e60968b
commit f89647bd19
Signed by: meatballhat
GPG Key ID: A12F782281063434

View File

@ -1,23 +1,16 @@
#compdef $PROG
_cli_zsh_autocomplete() {
local -a opts
local cur
cur=${words[-1]}
if [[ "$cur" == "-"* ]]; then
opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} ${cur} --generate-bash-completion)}")
else
opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} --generate-bash-completion)}")
fi
local -a opts
local cur
cur=${words[-1]}
if [[ "$cur" == "-"* ]]; then
opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} ${cur} --generate-bash-completion)}")
else
opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} --generate-bash-completion)}")
fi
if [[ "${opts[1]}" != "" ]]; then
_describe 'values' opts
else
_files
fi
return
}
compdef _cli_zsh_autocomplete $PROG
if [[ "${opts[1]}" != "" ]]; then
_describe 'values' opts
else
_files
fi