# bash completion for fbi(1) -*- shell-script -*- _fbi() { local cur prev words cword _init_completion || return case "$prev" in -l | --list) _filedir return ;; -r | --resolution) COMPREPLY+=($(compgen -W '{1..5}')) return ;; -f | --font) local IFS=$'\n' COMPREPLY=($(compgen -W '$(fc-list 2>/dev/null)' -- "$cur")) return ;; -m | --mode) COMPREPLY=($(compgen -W '$(command sed \ -n "/^mode/{s/^mode \{1,\}\"\([^\"]\{1,\}\)\"/\1/g;p}" \ /etc/fb.modes 2>/dev/null)' -- "$cur")) return ;; -d | --device) COMPREPLY=($(compgen -f -d -- "${cur:-/dev/}")) return ;; --cachemem | --blend | -T | --vt | -s | --scroll | -t | --timeout | -g | --gamma) # argument required but no completions available return ;; esac if [[ $cur == -* ]]; then 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 fi # 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: filetype=sh