Пользовательское завершение zsh для функции на основе аргументов по умолчанию

Как настроить завершение для функции на основе существующих определений завершения и аргументов по умолчанию.

Упрощенный пример (который можно переписать как псевдоним):

gpl() {
    git pull origin $@
}

Это должно иметь такое же завершение, как после git pull origin,

1 ответ

Решение
compdef -e 'words[1]=(git pull origin); service=git; (( CURRENT+=2 )); _git' ggl

Это массажирует $words, $service а также $CURRENT переменные, используемые системой завершения, а затем вызывает _git функция завершения.

(Спасибо Микачу на #zsh).

Другие вопросы по тегам