Как удалить расширение файла в zsh дополнении? - PullRequest
3 голосов
/ 23 марта 2010

Я хочу настроить zsh так, чтобы я мог завершить вкладку:

myprog <tab>

используя все *.foo файлы в ~/somedir, но имейте это так, чтобы он отображал их без расширения .foo.

Есть ли способ сделать это?

Это то, что я имею до сих пор:

#compdef myprog
typeset -A opt_args
local context state line
local -a mydirs
mydirs="(. ~/somedir)"

_arguments -s -S \
    "*:name:->foos" \
    && return 0

case $state in
    (foos)
        _files -W ${mydirs} -g '*.foo(:r)' && return 0
    ;;
esac

return 1

Однако при этом выводится удвоенный вывод для каждого файла (то есть каждый файл .foo указан с расширением и без него). Есть ли способ обойти это?

1 Ответ

2 голосов
/ 23 марта 2010

Полагаю, вам нужно установить стиль file-patterns, возможно, используя '%p:globbed-files'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...