• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1_my-app() {
2    local i cur prev opts cmd
3    COMPREPLY=()
4    cur="${COMP_WORDS[COMP_CWORD]}"
5    prev="${COMP_WORDS[COMP_CWORD-1]}"
6    cmd=""
7    opts=""
8
9    for i in ${COMP_WORDS[@]}
10    do
11        case "${cmd},${i}" in
12            ",$1")
13                cmd="my__app"
14                ;;
15            *)
16                ;;
17        esac
18    done
19
20    case "${cmd}" in
21        my__app)
22            opts="-h --help [arguments]..."
23            if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
24                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
25                return 0
26            fi
27            case "${prev}" in
28                *)
29                    COMPREPLY=()
30                    ;;
31            esac
32            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
33            return 0
34            ;;
35    esac
36}
37
38complete -F _my-app -o bashdefault -o default my-app
39