# bash completion for fbi(1) -*- shell-script -*- proc _fbi { var cur = '', prev = '', words = '', cword = '' _init_completion || return match $prev { with -l|--list _filedir return with -r|--resolution setglobal COMPREPLY = '( '$( compgen -W '{1..5}' ) ) return with -f|--font var IFS = '$'\n'' setglobal COMPREPLY = '( '$( compgen -W '$( fc-list 2> /dev/null )' -- "$cur" ) ) return with -m|--mode setglobal COMPREPLY = '( '$( compgen -W '$( sed \ -n "/^mode/{s/^mode \{1,\}\"\([^\"]\{1,\}\)\"/\1/g;p}" \ /etc/fb.modes 2> /dev/null )' -- "$cur" ) ) return with -d|--device setglobal COMPREPLY = '( '$( compgen -f -d -- "${cur:-/dev/}" ) ) return with --cachemem|--blend|-T|--vt|-s|--scroll|-t|--timeout|-g|--gamma # argument required but no completions available return } if [[ "$cur" == -* ]] { setglobal COMPREPLY = '( '$( compgen -W '--help --version --store --list --text --autozoom --{,no}autoup --{,no}autodown --{,no}fitwidth --{,no}verbose --{,no}random --{,no}comments --{,no}edit --{,no}backup --{,no}preserve --{,no}readahead --cachemem --blend --vt --scroll --timeout --{,no}once --resolution --gamma --font --device --mode' -- "$cur" ) ) [[ $COMPREPLY ]] && return } # FIXME: It is hard to determine correct supported extensions. # fbi can handle any format that imagemagick can plus some others _filedir 'bmp|gif|jp?(e)g|pcd|png|p[pgb]m|tif?(f)|webp|xpm|xwd|?(e)ps|pdf|dvi|txt|svg?(z)|cdr|[ot]tf' } && complete -F _fbi fbi # ex: ts=4 sw=4 et filetype=sh