Завершение файла ZSH из 2-х путей

У меня есть 2 папки, которые содержат папки

/me/foo/: 
  a/
  b/
  c/

/me/bar/:
  c/
  d/
  e/

Я хочу создать функцию завершения для команды baz чтобы

$ baz [tab]

дает аргументы завершения, как следует

a b c d e

обратите внимание на дубликат c записывается только один раз и не включает в себя завершающий слеш.

Я знаю, как сделать завершение с _files но это дает мне файл только из одного каталога.

Как я могу это сделать?

1 ответ

Я обнаружил, что это работает для меня

local services
services=$(ls -d /me/foo/*/ /me/bar/*/ | xargs basename| uniq)
_alternative "dirs:some directories:($services)"
Другие вопросы по тегам