_plesk()
{
    local cur prev

    COMPREPLY=()
    cur=${COMP_WORDS[COMP_CWORD]}
    prev=${COMP_WORDS[COMP_CWORD-1]}

    if [ $COMP_CWORD -eq 1 ]; then
        COMPREPLY=( $(compgen -W '`plesk help -c "$cur" 2>/dev/null`' -- "$cur") )
    elif [ $COMP_CWORD -eq 2 -a 'php' = ${COMP_WORDS[1]} ]; then
        _filedir
    elif [ $COMP_CWORD -ge 3 -a ${COMP_WORDS[1]} = "bin" ]; then
		! type _plesk_bin_cli > /dev/null 2>&1 || _plesk_bin_cli
    elif [ $COMP_CWORD -ge 3 -a ${COMP_WORDS[1]} = "repair" ]; then
		! type _plesk_repair > /dev/null 2>&1 || _plesk_repair
    elif [ $COMP_CWORD -ge 2 ]; then
        COMPREPLY=( $(compgen -W '`plesk help -c ${COMP_WORDS[@]:1:$COMP_CWORD-1} "$cur" 2>/dev/null`' -- "$cur") )
    fi

    return 0
} &&
complete -F _plesk plesk

# vim: ft=sh
