summaryrefslogtreecommitdiff
path: root/Completion/Unix/Command/_doas
diff options
context:
space:
mode:
authorAxel Beckert <abe@deuxchevaux.org>2022-04-11 00:17:48 +0200
committerAxel Beckert <abe@deuxchevaux.org>2022-04-11 00:17:48 +0200
commitb09f4483416c54c1782824633dfabaf2ec0265b6 (patch)
tree304bc82642862525ae680c7fbaa249663b10ad57 /Completion/Unix/Command/_doas
parent12eb3e5356f2fc3351eed58ef1cef1b8fb83b504 (diff)
parent6e55c920503071e917619b8cb1a188cd35d772db (diff)
downloadzsh-b09f4483416c54c1782824633dfabaf2ec0265b6.tar.gz
zsh-b09f4483416c54c1782824633dfabaf2ec0265b6.zip
New upstream version 5.8.1.2-test
Diffstat (limited to 'Completion/Unix/Command/_doas')
-rw-r--r--Completion/Unix/Command/_doas21
1 files changed, 11 insertions, 10 deletions
diff --git a/Completion/Unix/Command/_doas b/Completion/Unix/Command/_doas
index 94395557c..3ef036a88 100644
--- a/Completion/Unix/Command/_doas
+++ b/Completion/Unix/Command/_doas
@@ -1,7 +1,8 @@
#compdef doas
-local environ e cmd
+local environ e cmd cpp
local -a _comp_priv_prefix
+local -A opt_args
zstyle -a ":completion:${curcontext}:" environ environ
@@ -10,13 +11,13 @@ do local -x "$e"
done
cmd="$words[1]"
+cpp='_comp_priv_prefix=( $cmd -n ${(kv)opt_args[(I)-u]} )'
_arguments -s -S -A '-*' : \
- - optL \
- '-L[clear any persisted authorizations]' \
- - default \
- '-a+[specify authentication style]:authentication style' \
- '(-n -s)-C+[check config file and report on command matching]:config:_files' \
- '(-C)-n[non-interactive: fail rather than prompt for a password]' \
- '(-C *)-s[run a shell]' \
- '-u+[run command as specified user]:user:_users' \
- '*::arguments:{ _comp_priv_prefix=( $cmd -n ${(kv)opt_args[-u]} ) ; _normal }'
+ '(: * -)-L[clear any persisted authorizations]' \
+ '(-L)-a+[specify authentication style]:authentication style' \
+ '(-L -n -s)-C+[check config file and report on command matching]:config:_files' \
+ '(-C -L)-n[non-interactive: fail rather than prompt for a password]' \
+ '(-C -L *)-s[run a shell]' \
+ '(-L)-u+[run command as specified user]: :_users' \
+ "(-)1: :{ $cpp; _command_names -e }" \
+ "*:: :{ $cpp; _normal }"