| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 
 | # bash completion for fbgs(1)                              -*- shell-script -*-
_fbgs()
{
    local cur prev words cword
    _init_completion || return
    case "$prev" in
        -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
            ;;
        -fp|--firstpage|-lp|--lastpage|-r|--resolution|-s|--scroll|-t|\
        --timeout)
            # expect integer value
            COMPREPLY+=( $( compgen -W '{0..9}' ) )
            compopt -o nospace
            return
            ;;
        -T|--vt|-p|--password|-g|--gamma)
            # argument required but no completions available
            return
            ;;
    esac
    if [[ "$cur" == -* ]]; then
        COMPREPLY=( $( compgen -W '--bell --help --password -fp --firstpage
            -lp --lastpage --color -l -xl -xxl --resolution --autozoom
            --{,no}autoup --{,no}autodown --{,no}fitwidth --{,no}verbose
            --{,no}random --vt --scroll --timeout --{,no}once --gamma --font
            --device --mode' -- "$cur" ) )
        [[ $COMPREPLY ]] && return
    fi
    _filedir '?(e)ps|pdf'
} && complete -F _fbgs fbgs
# ex: ts=4 sw=4 et filetype=sh
 |