指定したパスで最初のレベル(深さ1)のファイルのみを完了し、ディレクトリを無視するだけです。を指定してみ-g '*(.)'
ましたが効果がないようです。
#compdef foo
local state
_arguments -S : \
'-i' \
'-l' \
'-w' \
'1: :->myfiles'
case $state in
myfiles)
_files -W /foo/bar -g '*(.)'
;;
esac
それでもファイルとディレクトリが表示されます。
最初のレベルのファイルのみを表示する方法は?私はこのディレクトリのより深いファイルには興味がありません。
ベストアンサー1
_arguments -S : \
'-i' \
'-l' \
'-w' \
'1: :{
_wanted all-files expl descriptiongoeshere compadd - /foo/bar/*(^/:t)
}'