# Programmable completion for Plowshare commands under bash 3.x
# Copy this file to /etc/bash_completion.d/plowshare

have plowup &&
_plowup()
{
    local cur prev arg
    COMPREPLY=()
    cur=`_get_cword`
    prev=`_get_pword`

    case "$prev" in
        -i|--interface)
            _available_interfaces -a
            return 0
            ;;
        -a|-d|-p|--auth|--description|--link-password|--name-prefix|--name-suffix|-l|--limit-rate|-r|--max-retries)
            # don't complete
            return 0
            ;;
    esac

    if [[ "$cur" == -* ]]; then
        COMPREPLY=( $( compgen -W '--help --version -v1 -v2 -v3 -v4 --quiet \
            -q -i -l -r \
            --limit-rate --interface --max-retries --name-prefix --name-suffix' -- $cur ) )
    else
        _get_first_arg
        if [ -z $arg ]; then
            # replace with proper path
            local CDIR=/usr/share/plowshare/modules/config
            COMPREPLY=($(compgen -W "$(sed -ne \
                '/^[^#].*|[[:space:]]*upload[[:space:]]*|/p' $CDIR | cut -d'|' -f1)" -- $cur))
        else
            _filedir
        fi
    fi
} &&
complete -F _plowup plowup

have plowdown &&
_plowdown()
{
    local cur prev

    COMPREPLY=()
    cur=`_get_cword`
    prev=`_get_pword`

    case "$prev" in
        -a|-b|-p|--auth-free|--auth|--link-password|--captchatrader|-l|--limit-rate|-r|--max-retries)
            # don't complete
            return 0
            ;;
        -o|--output-directory|--temp-directory)
            _filedir -d
            return 0
            ;;
        -i|--interface)
            _available_interfaces -a
            return 0
            ;;
    esac

    if [[ "$cur" == -* ]]; then
        COMPREPLY=( $( compgen -W '--help --version -v1 -v2 -v3 -v4 --quiet \
            -q -i -l -o -m -x -t -r \
            --limit-rate --interface --check-link --mark-downloaded --no-overwrite \
            --output-directory --temp-directory --timeout --max-retries --captchatrader' -- $cur ) )
    else
        _filedir
    fi
} &&
complete -F _plowdown plowdown
