# bash bind completion                                     -*- shell-script -*-

_bind()
{
    local cur prev words cword
    _init_completion || return

    case $prev in
        -*[lpPsSvVrxX])
            return
            ;;
        -*m)
            COMPREPLY=($(compgen -W "emacs emacs-standard emacs-meta
                emacs-ctlx vi vi-move vi-command vi-insert" -- "$cur"))
            return
            ;;
        -*f)
            _filedir
            return
            ;;
        -*[qu])
            COMPREPLY=($(compgen -W '$("$1" -l)' -- "$cur"))
            return
            ;;
    esac

    if [[ $cur == -* ]]; then
        COMPREPLY=($(compgen -W '$(_parse_usage "$1")' -- "$cur"))
        return
    fi

    COMPREPLY=($(compgen -A binding -- "$cur"))
} &&
    complete -F _bind bind

# ex: filetype=sh
