# -*- shell-script -*-
_jsamp_complete()
{
    local child=${COMP_WORDS[COMP_CWORD]}
    local parent=${COMP_WORDS[COMP_CWORD-1]}
    local grandparent=${COMP_WORDS[COMP_CWORD-2]}

    case "$grandparent" in
    (hub)
	    case "$parent" in
		(-mode)
		    COMPREPLY=( $(compgen -W "no-gui client-gui msg-gui facade" -- $child) ) ; return ;;
	    esac ;;
    esac

    case "$parent" in
    (hub)
        COMPREPLY=( $(compgen -W "help -help --help -verbose +verbose -mode -profiles -extraprofiles" -- $child) ) ; return ;;
    (hubmonitor)
        COMPREPLY=( $(compgen -W "help -help --help -verbose +verbose -auto -nomsg -mtype" -- $child) ) ; return ;;
    (hubtester)
        COMPREPLY=( $(compgen -W "help -help --help -verbose +verbose -gui" -- $child) ) ; return ;;
    (messagesender|snooper|bridge)
        COMPREPLY=( $(compgen -W "help -help --help" -- $child) ) ; return ;;
    esac

    case "$child" in
    (-*) 
       COMPREPLY=( $(compgen -W "-help -version --help" -- $child) ) ; return ;;
    (*)
       COMPREPLY=( $(compgen -W "help bridge calcstorm hub hubmonitor hubtester messagesender snooper" -- $child) ) ; return ;;
    esac
}
complete -F _jsamp_complete jsamp

