fix gio completions

This commit is contained in:
Magniquick 2026-01-14 05:55:31 +05:30
parent 9f8413696d
commit 05a1cf8a8a
1 changed files with 19 additions and 6 deletions

View File

@ -58,7 +58,12 @@ _gio() {
_gio_commands _gio_commands
;; ;;
(args) (args)
case $words[1] in local subcmd=$words[1]
if [[ $subcmd == gio ]]; then
subcmd=$words[2]
fi
case $subcmd in
(help) (help)
_arguments \ _arguments \
'1:command:_gio_commands' \ '1:command:_gio_commands' \
@ -265,13 +270,21 @@ _gio_location() {
(( $+functions[_gio_desktop_files] )) || (( $+functions[_gio_desktop_files] )) ||
_gio_desktop_files() { _gio_desktop_files() {
local -a desktop_files local -a search_path data_dirs desktop_files
desktop_files=( data_dirs=(${(@s/:/)XDG_DATA_DIRS:-/usr/local/share:/usr/share})
/usr/share/applications/*.desktop(N:t) search_path=(
~/.local/share/applications/*.desktop(N:t) "${XDG_DATA_HOME:-$HOME/.local/share}/applications"
${data_dirs[@]/%/\/applications}
) )
_describe -t desktop-files 'desktop files' desktop_files desktop_files=()
local dir
for dir in $search_path; do
[[ -d $dir ]] || continue
desktop_files+=($dir/*.desktop(N))
done
compadd -a -- desktop_files
} }
(( $+functions[_gio_mime_types] )) || (( $+functions[_gio_mime_types] )) ||