28 lines
839 B
Bash
28 lines
839 B
Bash
#compdef {pkgname}
|
|
###-begin-{pkgname}-completion-###
|
|
if type compdef &>/dev/null; then
|
|
_{pkgname}_completion () {
|
|
local reply
|
|
local si=$IFS
|
|
|
|
IFS=$'\n' reply=($(COMP_CWORD="$((CURRENT-1))" COMP_LINE="$BUFFER" COMP_POINT="$CURSOR" SHELL=zsh {completer} completion-server -- "${words[@]}"))
|
|
IFS=$si
|
|
|
|
if [ "$reply" = "__tabtab_complete_files__" ]; then
|
|
_files
|
|
else
|
|
_describe 'values' reply
|
|
fi
|
|
}
|
|
# When called by the Zsh completion system, this will end with
|
|
# "loadautofunc" when initially autoloaded and "shfunc" later on, otherwise,
|
|
# the script was "eval"-ed so use "compdef" to register it with the
|
|
# completion system
|
|
if [[ $zsh_eval_context == *func ]]; then
|
|
_{pkgname}_completion "$@"
|
|
else
|
|
compdef _{pkgname}_completion {pkgname}
|
|
fi
|
|
fi
|
|
###-end-{pkgname}-completion-###
|