diff options
Diffstat (limited to 'completions/fbi')
-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 00000000..f8f7a825 --- /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 '$( 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 --autoup --noautoup --autodown --noautodown --fitwidth \ + --nofitwidth --verbose --noverbose --random --norandom --comments \ + --nocomments --edit --noedit --backup --nobackup --preserve \ + --nopreserve --readahead --noreadahead --cachemem --blend --vt \ + --scroll --timeout --once --noonce --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)' +} && complete -F _fbi fbi + +# ex: ts=4 sw=4 et filetype=sh |