Compare commits

..

4 Commits

Author SHA1 Message Date
Shohei YOSHIDA 7fb495cab5
call completion function directly 2025-12-23 13:17:14 +09:00
Shohei YOSHIDA 779f02a78b
Fix appdirs type
This should be array not associative array. And fix its usage too
to pass it to _files correctly
2025-12-23 13:14:42 +09:00
Shohei YOSHIDA 2cff35a45d
Call completion function explicitly
This avoid pressing tab twice to complete subcommand
2025-12-23 13:12:45 +09:00
Shohei YOSHIDA 64484169e2
Add emacs local variables too 2025-12-23 13:11:59 +09:00
1 changed files with 17 additions and 9 deletions

View File

@ -1,7 +1,7 @@
#compdef xdg-mime #compdef xdg-mime
# Description: # Description:
# ZSH Completion for xdg-mime 1.2.1 from # ZSH Completion for xdg-mime 1.2.1 from
# xdg-utils (https://gitlab.freedesktop.org/xdg/xdg-utils) # xdg-utils (https://gitlab.freedesktop.org/xdg/xdg-utils)
# #
# Authors: # Authors:
@ -10,21 +10,21 @@
_xdg-mime_query() { _xdg-mime_query() {
_arguments \ _arguments \
"1:Query Type:(( "1:Query Type:((
filetype\:'Returns mime-type of a file' filetype\:'Returns mime-type of a file'
default\:'Returns default application for a mime-type'))" \ default\:'Returns default application for a mime-type'))" \
"*::arg:->args" "*::arg:->args"
case $line[1] in case $line[1] in
filetype) _arguments '*: :_files' ;; filetype) _files ;;
default) _arguments '*: :_mime_types' ;; default) _mime_types ;;
esac esac
} }
_xdg-mime() { _xdg-mime() {
local line local line
local -A appdirs=( local -a appdirs=(
/usr/share/applications /usr/share/applications
$HOME/.local/share/applications "$HOME/.local/share/applications"
) )
_arguments -C \ _arguments -C \
@ -38,7 +38,7 @@ _xdg-mime() {
query) _xdg-mime_query ;; query) _xdg-mime_query ;;
default) default)
_arguments \ _arguments \
"1:Application:_files -W '$appdirs' -g '*.desktop'" \ "1:Application:_files -W appdirs -g '*.desktop'" \
'2: :_mime_types' '2: :_mime_types'
;; ;;
install) install)
@ -59,4 +59,12 @@ _xdg-mime() {
esac esac
} }
# vim: filetype=zsh expandtab softtabstop=2 tabstop=2 shiftwidth=2 _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