fix gio completions
This commit is contained in:
parent
9f8413696d
commit
05a1cf8a8a
25
src/_gio
25
src/_gio
|
|
@ -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] )) ||
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue