File: nova.zsh_completion

package info (click to toggle)
python-novaclient 2%3A11.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 2,512 kB
  • sloc: python: 21,720; sh: 62; makefile: 21
file content (29 lines) | stat: -rw-r--r-- 728 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#compdef nova

local -a nbc _nova_opts _nova_flags _nova_opts_exp cur prev

nbc=(${(ps: :)$(_call_program options "$service bash-completion" 2>/dev/null)})
_nova_opts=(${nbc:#-*})
_nova_flags=(${(M)nbc:#-*})
_nova_opt_exp=${${nbc:#-*}// /|}
cur=$words[CURRENT]
prev=$words[(( CURRENT - 1 ))]

_checkcomp(){
    for word in $words[@]; do
        if [[ -n ${_nova_opts[(r)$word]} ]]; then
            return 0
        fi
    done
    return 1
}

echo $_nova_opts[@] |grep --color nova
if [[ "$prev" != "help" ]] && _checkcomp; then
    COMPLETION_CACHE=(~/.novaclient/*/*-cache)
    cflags=($_nova_flags[@] ${(ps: :)$(cat $COMPLETION_CACHE 2>/dev/null)})
    compadd "$@" -d $cflags[@]
else
    compadd "$@" -d $_nova_opts[@]
fi