# /usr/share/bash-completion/completions/uscan
# Bash command completion for ‘uscan(1)’.
# Documentation: ‘bash(1)’, section “Programmable Completion”.

shopt -s progcomp

_uscan_completion () {
    COMPREPLY=()

    local cur="${COMP_WORDS[COMP_CWORD]}"
    local prev="${COMP_WORDS[COMP_CWORD-1]}"

    local opts="--help --verbose -v"
    opts+=" --download --safe --report --report-status"
    opts+=" --signature --no-signature --skip-signature"
    opts+=" --no-download --force-download -dd --overwrite-download -ddd"
    opts+=" --upstream-version --download-version --download-debversion"
    opts+=" --download-current-version --bare"
    opts+=" --check-dirname-level --check-dirname-regex"
    opts+=" --no-pasv --pasv --timeout --user-agent --useragent"
    opts+=" --no-verbose --verbose --debug -vv --extra-debug -vvv"
    opts+=" --no-dehs --dehs --no-conf --noconf --watchfile --destdir"
    opts+=" --package --no-exclusion"
    opts+=" --symlink --rename --repack --compression --copyright-file"

    case "${prev}" in
        --compression)
            local formats=(gzip bzip2 lzma xz)
            COMPREPLY=( $(compgen -W "${formats[*]}" -- ${cur}) )
            ;;

        --check-dirname-level)
            local levels=(0 1 2)
            COMPREPLY=( $(compgen -W "${levels[*]}" -- ${cur}) )
            ;;

        --watchfile)
            COMPREPLY=( $(compgen -A file -- ${cur}) )
            ;;

        --copyright-file)
            COMPREPLY=( $(compgen -A file -- ${cur}) )
            ;;

        *)
            COMPREPLY=($(compgen -W "${opts}" -- ${cur}))  
            compopt -o dirnames
            ;;
    esac
}

complete -F _uscan_completion uscan


# Local variables:
# coding: utf-8
# mode: shell-script
# End:
# vim: fileencoding=utf-8 filetype=sh :
