• 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="-p -f -d -e -c -u -H -h --choice --unknown --other --path --file --dir --exe --cmd-name --cmd --user --host --url --email --help [command_with_args]..."
23            if [[ ${cur} == -* || ${COMP_CWORD} -eq 1 ]] ; then
24                COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
25                return 0
26            fi
27            case "${prev}" in
28                --choice)
29                    COMPREPLY=($(compgen -W "bash fish zsh" -- "${cur}"))
30                    return 0
31                    ;;
32                --unknown)
33                    COMPREPLY=($(compgen -f "${cur}"))
34                    return 0
35                    ;;
36                --other)
37                    COMPREPLY=($(compgen -f "${cur}"))
38                    return 0
39                    ;;
40                --path)
41                    COMPREPLY=($(compgen -f "${cur}"))
42                    return 0
43                    ;;
44                -p)
45                    COMPREPLY=($(compgen -f "${cur}"))
46                    return 0
47                    ;;
48                --file)
49                    COMPREPLY=($(compgen -f "${cur}"))
50                    return 0
51                    ;;
52                -f)
53                    COMPREPLY=($(compgen -f "${cur}"))
54                    return 0
55                    ;;
56                --dir)
57                    COMPREPLY=($(compgen -f "${cur}"))
58                    return 0
59                    ;;
60                -d)
61                    COMPREPLY=($(compgen -f "${cur}"))
62                    return 0
63                    ;;
64                --exe)
65                    COMPREPLY=($(compgen -f "${cur}"))
66                    return 0
67                    ;;
68                -e)
69                    COMPREPLY=($(compgen -f "${cur}"))
70                    return 0
71                    ;;
72                --cmd-name)
73                    COMPREPLY=($(compgen -f "${cur}"))
74                    return 0
75                    ;;
76                --cmd)
77                    COMPREPLY=($(compgen -f "${cur}"))
78                    return 0
79                    ;;
80                -c)
81                    COMPREPLY=($(compgen -f "${cur}"))
82                    return 0
83                    ;;
84                --user)
85                    COMPREPLY=($(compgen -f "${cur}"))
86                    return 0
87                    ;;
88                -u)
89                    COMPREPLY=($(compgen -f "${cur}"))
90                    return 0
91                    ;;
92                --host)
93                    COMPREPLY=($(compgen -f "${cur}"))
94                    return 0
95                    ;;
96                -H)
97                    COMPREPLY=($(compgen -f "${cur}"))
98                    return 0
99                    ;;
100                --url)
101                    COMPREPLY=($(compgen -f "${cur}"))
102                    return 0
103                    ;;
104                --email)
105                    COMPREPLY=($(compgen -f "${cur}"))
106                    return 0
107                    ;;
108                *)
109                    COMPREPLY=()
110                    ;;
111            esac
112            COMPREPLY=( $(compgen -W "${opts}" -- "${cur}") )
113            return 0
114            ;;
115    esac
116}
117
118complete -F _my-app -o bashdefault -o default my-app
119