3 # This is a _values-like function that completes privileges and !-prefixed
4 # privileges, comma-separated, and unique.
9 privs=( ${(f)"$(ppriv -l)"} all none zone basic )
11 # Ignore existing values
13 # Ignore a leading !, maybe backslash-quoted
16 # Remove already-referenced privs
17 for p in ${(s:,:)${IPREFIX//\\#\!/}}; do
18 privs=( ${privs:#$p} )
21 _wanted privs expl 'privilege' compadd -qS , -a privs
26 '-P[privileges to acquire]:privspec:_privset' \
27 '(-):command name: _command_names -e' \
28 '*::arguments: _normal'