У меня есть скрипт, который может завершиться при вызове с 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
.Как заставить его вызывать скрипт каждый раз, а не только первый?