about summary refs log tree commit diff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_postfix20
1 files changed, 20 insertions, 0 deletions
diff --git a/Completion/Unix/Command/_postfix b/Completion/Unix/Command/_postfix
new file mode 100644
index 000000000..0ced6c24a
--- /dev/null
+++ b/Completion/Unix/Command/_postfix
@@ -0,0 +1,20 @@
+#compdef postsuper
+
+_postfix_queue_id() {
+compadd ${${(M)${(f)"$(postqueue -p)"}:#(#s)([0-9A-F]##)*}/(#s)(#b)([0-9A-F]##)*/$match[1]}
+}
+
+case $service in
+	(postsuper)
+	_arguments -C \
+	'-p[purge old tempfiles]' \
+	'-s[structure check and repair]' \
+	'-v[verbose]' \
+	'-c[configdir]:config dir:_files -/' \
+	'-d[delete]:queue id:_postfix_queue_id' \
+	'-h[hold]:queue id:_postfix_queue_id' \
+	'-H[release]:queue id:_postfix_queue_id' \
+	'-r[requeue]:queue id:_postfix_queue_id' \
+	'1:queue:(hold incoming active deferred)'
+	;;
+esac