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 *) 1619625d8cSopenharmony_ci ;; 1719625d8cSopenharmony_ci esac 1819625d8cSopenharmony_ci done 1919625d8cSopenharmony_ci 2019625d8cSopenharmony_ci case "${cmd}" in 2119625d8cSopenharmony_ci my__app) 2219625d8cSopenharmony_ci opts="-F -f -O -o -h -V --flg --flag --opt --option --help --version [positional]" 2319625d8cSopenharmony_ci if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then 2419625d8cSopenharmony_ci COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) 2519625d8cSopenharmony_ci return 0 2619625d8cSopenharmony_ci fi 2719625d8cSopenharmony_ci case "${prev}" in 2819625d8cSopenharmony_ci --option) 2919625d8cSopenharmony_ci COMPREPLY=($(compgen -f "${cur}")) 3019625d8cSopenharmony_ci return 0 3119625d8cSopenharmony_ci ;; 3219625d8cSopenharmony_ci --opt) 3319625d8cSopenharmony_ci COMPREPLY=($(compgen -f "${cur}")) 3419625d8cSopenharmony_ci return 0 3519625d8cSopenharmony_ci ;; 3619625d8cSopenharmony_ci -o) 3719625d8cSopenharmony_ci COMPREPLY=($(compgen -f "${cur}")) 3819625d8cSopenharmony_ci return 0 3919625d8cSopenharmony_ci ;; 4019625d8cSopenharmony_ci -O) 4119625d8cSopenharmony_ci COMPREPLY=($(compgen -f "${cur}")) 4219625d8cSopenharmony_ci return 0 4319625d8cSopenharmony_ci ;; 4419625d8cSopenharmony_ci *) 4519625d8cSopenharmony_ci COMPREPLY=() 4619625d8cSopenharmony_ci ;; 4719625d8cSopenharmony_ci esac 4819625d8cSopenharmony_ci COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") ) 4919625d8cSopenharmony_ci return 0 5019625d8cSopenharmony_ci ;; 5119625d8cSopenharmony_ci esac 5219625d8cSopenharmony_ci} 5319625d8cSopenharmony_ci 5419625d8cSopenharmony_cicomplete -F _my-app -o bashdefault -o default my-app 55