Merge pull request #1209 from LeeBigelow/xdg-mime-completion
add xdg-mime completion file
This commit is contained in:
commit
d20ceda628
|
|
@ -0,0 +1,70 @@
|
|||
#compdef xdg-mime
|
||||
|
||||
# Description:
|
||||
# ZSH Completion for xdg-mime 1.2.1 from
|
||||
# xdg-utils (https://gitlab.freedesktop.org/xdg/xdg-utils)
|
||||
#
|
||||
# Authors:
|
||||
# ligelowbee@gmail.com
|
||||
|
||||
_xdg-mime_query() {
|
||||
_arguments \
|
||||
"1:Query Type:((
|
||||
filetype\:'Returns mime-type of a file'
|
||||
default\:'Returns default application for a mime-type'))" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $line[1] in
|
||||
filetype) _files ;;
|
||||
default) _mime_types ;;
|
||||
esac
|
||||
}
|
||||
|
||||
_xdg-mime() {
|
||||
local line
|
||||
local -a appdirs=(
|
||||
/usr/share/applications
|
||||
"$HOME/.local/share/applications"
|
||||
)
|
||||
|
||||
_arguments -C \
|
||||
"--help[Show help info]" \
|
||||
"--version[Show version info]" \
|
||||
"--manual[Show manual page]" \
|
||||
"1:xdg-mime command:(query default install uninstall)" \
|
||||
"*::arg:->args"
|
||||
|
||||
case $line[1] in
|
||||
query) _xdg-mime_query ;;
|
||||
default)
|
||||
_arguments \
|
||||
"1:Application:_files -W appdirs -g '*.desktop'" \
|
||||
'2: :_mime_types'
|
||||
;;
|
||||
install)
|
||||
_arguments \
|
||||
"--mode=[Install for user or system]: :((
|
||||
user\:'Install for this user only'
|
||||
system\:'Install for all users'))" \
|
||||
"--novendor[Don't check mimetype-file for vendor prefix]" \
|
||||
'*:XML mimetypes file:_files -g "*.xml"'
|
||||
;;
|
||||
uninstall)
|
||||
_arguments \
|
||||
"--mode=[Uninstall for user or whole system]: :((
|
||||
user\:'Uninstall for this user only'
|
||||
system\:'Uninstall for all users'))" \
|
||||
'*:XML mimetypes file:_files -g "*.xml"'
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_xdg-mime "$@"
|
||||
|
||||
# Local Variables:
|
||||
# mode: Shell-Script
|
||||
# sh-indentation: 2
|
||||
# indent-tabs-mode: nil
|
||||
# sh-basic-offset: 2
|
||||
# End:
|
||||
# vim: filetype=zsh expandtab softtabstop=2 tabstop=2 shiftwidth=2
|
||||
Loading…
Reference in New Issue