about summary refs log tree commit diff
path: root/Completion/Unix/Command/_postfix
blob: 2e6a0a04da88f09db10adb5e5f73c55420594ab0 (plain) (blame)
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
30
#compdef postqueue postsuper

_postfix_queue_id() {
  compadd "$@" -- ${${(M)${(f)"$(_call_program mailq 'mailq')"}:#(#s)([0-9A-F]##)*}/(#s)(#b)([0-9A-F]##)*/$match[1]}
}

case $service in
	(postsuper)
	_arguments -C -s : \
	'-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, or "ALL":_postfix_queue_id' \
	'1:queue:(hold incoming active deferred)'
	;;
        (postqueue)
        _arguments -C -s : \
          '*-v[enable verbose logging]' \
          '-c[configdir]:config dir:_files -/' \
          '(-f -i -j -p -s)-f[flush the queue]' \
          '(-f -i -j -p -s)-i[immediately deliver one message]:queue id:_postfix_queue_id' \
          '(-f -i -j -p -s)-j[print the queue in json]' \
          '(-f -i -j -p -s)-p[print the queue in traditional format]' \
          '(-f -i -j -p -s)-s[immediately deliver messages to specified site]:site:_hosts' 
        ;;
esac