# bash completion for ldapvi

have ldapvi &&
_ldapvi()
{
    local cur prev

    COMPREPLY=()
    _get_comp_words_by_ref cur prev

    case $prev in
        -h|--host)
            _known_hosts_real "$cur"
            return 0
            ;;
        -Y|--sasl-mech)
            COMPREPLY=( $( compgen -W 'EXTERNAL GSSAPI DIGEST-MD5 \
                CRAM-MD5 PLAIN ANONYMOUS' -- "$cur" ) )
            return 0
            ;;
        --bind)
            COMPREPLY=( $( compgen -W 'simple sasl' -- "$cur" ) )
            return 0
            ;;
        --bind-dialog)
            COMPREPLY=( $( compgen -W 'never auto always' -- $cur ) )
            return 0
            ;;
        --scope)
            COMPREPLY=( $( compgen -W 'base one sub' -- "$cur" ) )
            return 0
            ;;
        --deref)
            COMPREPLY=( $( compgen -W 'never searching finding always' \
                -- "$cur" ) )
            return 0
            ;;
        --encoding)
            COMPREPLY=( $( compgen -W 'ASCII UTF-8 binary' -- "$cur" ) )
            return 0
            ;;
        --tls)
            COMPREPLY=( $( compgen -W 'never allow try strict' \
                -- "$cur" ) )
            return 0
            ;;
    esac

    if [[ "$cur" == -* ]]; then
        COMPREPLY=( $( compgen -W '--discover --out --in --delete \
            --rename -h --host -D --user -w --password --bind \
            --bind-dialog -I --sasl-interactive --bind-dialog -O \
            --sasl-secprops -Q --sasl-quiet -R --sasl-realm -U \
            --sasl-authcid -X --sasl-authzid -Y --sasl-mech -b \
            --base -s --scope -S --sort --add -o --class --config \
            -c --continue --deleteoldrdn -a --deref -d --discover \
            -A --empty --ncoding -H --help --ldap-conf -m --may -M \
            --managedsait --noquestions -! --noninteractive -q \
            --quiet -R --read -Z --starttls --tls -v --verbose \
            --ldapsearch --ldapmodify --ldapdelete --ldapmoddn' \
            -- "$cur" ) )
    fi
} &&
complete -F _ldapvi ldapvi

# Local variables:
# mode: shell-script
# sh-basic-offset: 4
# sh-indent-comment: t
# indent-tabs-mode: nil
# End:
# ex: ts=4 sw=4 et filetype=sh
