119625d8cSopenharmony_ci_my-app() {
219625d8cSopenharmony_ci    local i cur prev opts cmd
319625d8cSopenharmony_ci    COMPREPLY=()
419625d8cSopenharmony_ci    cur="${COMP_WORDS[COMP_CWORD]}"
519625d8cSopenharmony_ci    prev="${COMP_WORDS[COMP_CWORD-1]}"
619625d8cSopenharmony_ci    cmd=""
719625d8cSopenharmony_ci    opts=""
819625d8cSopenharmony_ci
919625d8cSopenharmony_ci    for i in ${COMP_WORDS[@]}
1019625d8cSopenharmony_ci    do
1119625d8cSopenharmony_ci        case "${cmd},${i}" in
1219625d8cSopenharmony_ci            ",$1")
1319625d8cSopenharmony_ci                cmd="my__app"
1419625d8cSopenharmony_ci                ;;
1519625d8cSopenharmony_ci            my__app,help)
1619625d8cSopenharmony_ci                cmd="my__app__help"
1719625d8cSopenharmony_ci                ;;
1819625d8cSopenharmony_ci            my__app,test)
1919625d8cSopenharmony_ci                cmd="my__app__test"
2019625d8cSopenharmony_ci                ;;
2119625d8cSopenharmony_ci            my__app__help,help)
2219625d8cSopenharmony_ci                cmd="my__app__help__help"
2319625d8cSopenharmony_ci                ;;
2419625d8cSopenharmony_ci            my__app__help,test)
2519625d8cSopenharmony_ci                cmd="my__app__help__test"
2619625d8cSopenharmony_ci                ;;
2719625d8cSopenharmony_ci            *)
2819625d8cSopenharmony_ci                ;;
2919625d8cSopenharmony_ci        esac
3019625d8cSopenharmony_ci    done
3119625d8cSopenharmony_ci
3219625d8cSopenharmony_ci    case "${cmd}" in
3319625d8cSopenharmony_ci        my__app)
3419625d8cSopenharmony_ci            opts="-c -v -h --help test help"
3519625d8cSopenharmony_ci            if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
3619625d8cSopenharmony_ci                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
3719625d8cSopenharmony_ci                return 0
3819625d8cSopenharmony_ci            fi
3919625d8cSopenharmony_ci            case "${prev}" in
4019625d8cSopenharmony_ci                *)
4119625d8cSopenharmony_ci                    COMPREPLY=()
4219625d8cSopenharmony_ci                    ;;
4319625d8cSopenharmony_ci            esac
4419625d8cSopenharmony_ci            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
4519625d8cSopenharmony_ci            return 0
4619625d8cSopenharmony_ci            ;;
4719625d8cSopenharmony_ci        my__app__help)
4819625d8cSopenharmony_ci            opts="test help"
4919625d8cSopenharmony_ci            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
5019625d8cSopenharmony_ci                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
5119625d8cSopenharmony_ci                return 0
5219625d8cSopenharmony_ci            fi
5319625d8cSopenharmony_ci            case "${prev}" in
5419625d8cSopenharmony_ci                *)
5519625d8cSopenharmony_ci                    COMPREPLY=()
5619625d8cSopenharmony_ci                    ;;
5719625d8cSopenharmony_ci            esac
5819625d8cSopenharmony_ci            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
5919625d8cSopenharmony_ci            return 0
6019625d8cSopenharmony_ci            ;;
6119625d8cSopenharmony_ci        my__app__help__help)
6219625d8cSopenharmony_ci            opts=""
6319625d8cSopenharmony_ci            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
6419625d8cSopenharmony_ci                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
6519625d8cSopenharmony_ci                return 0
6619625d8cSopenharmony_ci            fi
6719625d8cSopenharmony_ci            case "${prev}" in
6819625d8cSopenharmony_ci                *)
6919625d8cSopenharmony_ci                    COMPREPLY=()
7019625d8cSopenharmony_ci                    ;;
7119625d8cSopenharmony_ci            esac
7219625d8cSopenharmony_ci            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
7319625d8cSopenharmony_ci            return 0
7419625d8cSopenharmony_ci            ;;
7519625d8cSopenharmony_ci        my__app__help__test)
7619625d8cSopenharmony_ci            opts=""
7719625d8cSopenharmony_ci            if [[ ${cur} == -* || ${COMP_CWORD} -eq 3 ]] ; then
7819625d8cSopenharmony_ci                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
7919625d8cSopenharmony_ci                return 0
8019625d8cSopenharmony_ci            fi
8119625d8cSopenharmony_ci            case "${prev}" in
8219625d8cSopenharmony_ci                *)
8319625d8cSopenharmony_ci                    COMPREPLY=()
8419625d8cSopenharmony_ci                    ;;
8519625d8cSopenharmony_ci            esac
8619625d8cSopenharmony_ci            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
8719625d8cSopenharmony_ci            return 0
8819625d8cSopenharmony_ci            ;;
8919625d8cSopenharmony_ci        my__app__test)
9019625d8cSopenharmony_ci            opts="-d -c -h --help"
9119625d8cSopenharmony_ci            if [[ ${cur} == -* || ${COMP_CWORD} -eq 2 ]] ; then
9219625d8cSopenharmony_ci                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
9319625d8cSopenharmony_ci                return 0
9419625d8cSopenharmony_ci            fi
9519625d8cSopenharmony_ci            case "${prev}" in
9619625d8cSopenharmony_ci                *)
9719625d8cSopenharmony_ci                    COMPREPLY=()
9819625d8cSopenharmony_ci                    ;;
9919625d8cSopenharmony_ci            esac
10019625d8cSopenharmony_ci            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
10119625d8cSopenharmony_ci            return 0
10219625d8cSopenharmony_ci            ;;
10319625d8cSopenharmony_ci    esac
10419625d8cSopenharmony_ci}
10519625d8cSopenharmony_ci
10619625d8cSopenharmony_cicomplete -F _my-app -o bashdefault -o default my-app
107