Функция автозаполнения Zsh на основе 2 аргументов

У меня есть такая функция:

p() { cd ~/Clients/$1/Projects/$2; }

Затем я могу набрать:

p "Client here" "Project here"

и перейти к:

~/Clients/Client here/Projects/Project here

Здесь ничего особенного не происходит. Но как реализовать автозаполнение для этой функции? Мне удалось заставить работать автодополнение для первого аргумента (клиенты):

_p() { _files -W ~/Clients -/; }
compdef _p p

Но как мне автодополнить второй аргумент (проекты)? Нужно автозаполнение из папки на основе клиента:

~/Clients/$1/Projects

Надеюсь, кто-нибудь поможет! :-)

5
задан blueyed 1 December 2014 в 10:43
поделиться