我有一个脚本,当用complete
arg调用时,它可以完成自身的工作。以下Zsh完成脚本将其传输到Zsh:
#compdef das
_das() {
local -a commands
self="$(echo $words | cut -d' ' -f1)"
numargs=$(($CURRENT-2))
if [ $numargs -ge 1 ]; then
args=$(echo ${words#$self} | xargs | cut -d' ' -f-$numargs)
fi
$self complete $(echo ${args}) | while read line; do
commands+=("$line")
done
_describe -t commands 'commands' commands
return 0
}
_das
它运行良好,但是在第一次输入命令Zsh后,它会记住它最后一次显示并仅显示它,而无需再次调用$self complete
。
如何迫使它每次都调用脚本,而不仅仅是第一次?