# $Id$
# vim:syn=sh

have thingy-admin &&
_thingy_admin () {
    local word=${COMP_WORDS[COMP_CWORD]}
    local prev_word=${COMP_WORDS[COMP_CWORD-1]}
    local action=${COMP_WORDS[1]}
    local completions=()
    
    if (( $COMP_CWORD == 1 )); then
        # Complete actions:
        completions=(
            list create remove clone copy upgrade
            listusers users listpages pages help
        )
    elif [[ "$word" == -* ]]; then
        # Complete action options:
        case "$action" in
          remove | rm )
            completions=(--force) ;;
          listusers | users | listpages | pages )
            completions=(--long) ;;
        esac
    else
        # Complete action arguments:
        case "$action" in
          remove | rm | clone | copy | cp | upgrade | up | \
          listusers | users | listpages | pages )
            # Complete instance names:
            completions=($(thingy-admin ls)) ;;
        esac
    fi
    
    COMPREPLY=($( compgen -W "${completions[*]}" -- "$word" ))
    return 0
}

[ "$have" ] && complete -F _thingy_admin thingy-admin

