about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2016-09-30 09:57:33 +0200
committerOliver Kiddle <opk@zsh.org>2016-09-30 09:57:33 +0200
commit573895dd60974354cdabd0632bd0367d04e7ddbc (patch)
treec231e756613d31ed7aceda9d6118cb3c2b0935b5
parent01f9e54c579cf17fae754b58247d071a22f2d836 (diff)
downloadzsh-573895dd60974354cdabd0632bd0367d04e7ddbc.tar.gz
zsh-573895dd60974354cdabd0632bd0367d04e7ddbc.tar.xz
zsh-573895dd60974354cdabd0632bd0367d04e7ddbc.zip
39513: new doas completion
-rw-r--r--ChangeLog2
-rw-r--r--Completion/Unix/Command/_doas18
2 files changed, 20 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d401a0aa2..6936d137e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2016-09-30  Oliver Kiddle  <opk@zsh.org>
 
+	* 39513: Completion/Unix/Command/_doas: new doas completion
+
 	* 39464: Completion/Solaris/Command/_fmadm: fix where lack
 	of $state check caused unwanted filename completion
 
diff --git a/Completion/Unix/Command/_doas b/Completion/Unix/Command/_doas
new file mode 100644
index 000000000..5c26b1d25
--- /dev/null
+++ b/Completion/Unix/Command/_doas
@@ -0,0 +1,18 @@
+#compdef doas
+
+local environ e cmd
+
+zstyle -a ":completion:${curcontext}:" environ environ
+
+for e in "${environ[@]}"
+do local -x "$e"
+done
+
+cmd="$words[1]"
+_arguments -s -S \
+  '(-n -s)-C+[check config file and report on command matching]:config:_files' \
+  '(-C)-n[non-interactive: fail rather than prompt for a password]' \
+  '-a+[specify authentication style]:authentication style' \
+  '(-C)-s[run a shell]' \
+  '-u+[run command as specified user]:user:_users' \
+  '*::arguments:{ _comp_priv_prefix=( $cmd -n ${(kv)opt_args[-u]} ) ; _normal }'