ad59fceb5025e30e5c6661b948c156e2f1b22f41
[geeqie.git] / auto-complete / geeqie
1 # bash completion for geeqie                              -*- shell-script -*-
2
3 file_types='@(3fr|ani|arw|avif|bmp|cr2|cr3|crw|cur|dds|djvu|dng|erf|gif|heic|heif|ico|jp2|jpe[g]||jpegxl|jps|kdc|mef|mos|mpo|mrw|nef|orf|pbm|pdf|pgm|pnm|ppm|pef|png|psd|qif|qtif|raf|raw|rw2|scr|sr2|srf|svg[z]|tga|targa|tif[f]|webp|xbm|xpm|gqv|xml|xmp)'
4
5 _geeqie()
6 {
7         local cur prev
8         _init_completion -s || return
9
10         case $prev in
11                 :)
12                         case ${COMP_WORDS[1]} in
13                                 --cache-render | --cache-render-recurse | --cache-render-shared-recurse | --get-filelist | --get-filelist-recurse | --slideshow-recurse)
14                                         compopt -o nospace
15                                         _filedir -d
16                                         return
17                                         ;;
18                                 --config-load)
19                                         compopt -o nospace
20                                         _filedir xml
21                                         return
22                                         ;;
23                                 --file | --File | --get-destination | --get-sidecars | --list-add | --selection-add | --selection-remove | --view)
24                                         compopt -o nospace
25                                         _filedir $file_types
26                                         return
27                                         ;;
28                                 --get-collection)
29                                         compopt -o nospace
30                                         _filedir gqv
31                                         return
32                                         ;;
33                                 --lua)
34                                         compopt -o nospace
35                                         _filedir lua
36                                         return
37                                         ;;
38                         esac
39                         ;;
40                 --cache-maintenance)
41                         _filedir -d
42                         return
43                         ;;
44         esac
45
46         if [[ $cur == -* ]]
47         then
48                 COMPREPLY=($(compgen -W '$(_parse_help "$1")' -- "$cur"))
49                 [[ ${COMPREPLY-} == *[=:] ]] && compopt -o nospace
50                 return
51         fi
52
53 _filedir $file_types
54
55 } &&
56     complete -F _geeqie geeqie
57
58 # ex: filetype=sh