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