Вопрос

Я хочу настроить 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 Файл перечислен с и без его расширения). Есть ли способ обойти это?

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top