diff options
Diffstat (limited to '')
-rw-r--r-- | completions/fbi | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/completions/fbi b/completions/fbi new file mode 100644 index 0000000..455887a --- /dev/null +++ b/completions/fbi @@ -0,0 +1,54 @@ +# 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 |