3

タブを完成できるように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

ただし、これにより、すべてのファイルの出力が2倍になります(つまり、各.fooファイルは拡張子付きと拡張子なしで一覧表示されます)。これを回避する方法はありますか?

4

1 に答える 1

2

file-patternsおそらくを使用して、スタイルを設定する必要があると思います'%p:globbed-files'

于 2010-03-23T19:10:23.570 に答える