質問

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 ファイルは、拡張機能の有無にかかわらずリストされています)。これを回避する方法はありますか?

役に立ちましたか?

解決

私はあなたが設定する必要があると信じています file-patterns おそらく使用しているスタイル '%p:globbed-files'.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top