他のフラグの値に応じて補完の1つが動的に生成される補完を作成しようとしています。たとえば、ZSH前のフラグに基づいて完了
local state
_arguments \
'-f[fabric]:fabric:->fabrics' \
'-c[containers/application where log resides]:container:->containers' \
'-l[name of log file]:log:->logs'
case "$state" in
(fabrics)
_values 'fabrics' \
'fab1' \
'fab2'
;;
(containers)
_values 'containers' \
'container1' \
'container2'
;;
(logs)
# show A B C if "-c container1" was entered
# show D E F if "-c container2" was entered
# show G if "-c" was not provided yet
esac
"-l"フラグを動的に生成するのに問題があります。
これは素晴らしいです!私はそれを働かせましたが、私は最初のインデックス部分をあまり理解していません。 (I)と-cが何であるか説明できますか? – peter1234
更新;添字フラグを使って配列を検査するためのいくつかの例/用法を追加しました。 – hchbaw