Завершение zsh - список файлов определенного типа MIME
Я пишу скрипт автозаполнения для приложения просмотра изображений. Есть ли способ указать, чтобы перечислить только файлы в каталоге, которые имеют определенный MIME? То есть все виды пантомимы image
,
Что я делаю сейчас:
_arguments -C \
... # Handle flags
'*:images:_files -g "{*.jpg,*.png}"'
Расширение этого для всех типов изображений будет немного грязным.
1 ответ
Это найдет все изображения в текущем каталоге:
file --mime-type * | awk '$2 ~ /application\//{ sub(":$","", $1); print $1 }'
но обнаружение mimetype довольно дорого, поэтому поместить его в функцию завершения будет довольно вяло (особенно если вы запускаете его в большом каталоге).