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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
X-Seq: 40302
Date: Sun, 8 Jan 2017 03:30:49 +0000
From: Daniel Shahaf <d.s@daniel.shahaf.name>
To: zsh-workers@zsh.org
Subject: _swaks completion
Message-ID: <20170108033049.GA27435@fujitsu.shahaf.local2>
Origin: https://www.zsh.org/cgi-bin/mla/redirect?WORKERNUMBER=40302
This doesn't include all options, only a few options that I've used so
far, but I suppose it'd still be better to commit it than not to.
diff --git a/Completion/Unix/Command/_swaks b/Completion/Unix/Command/_swaks
new file mode 100644
index 0000000..7361b08
--- /dev/null
+++ b/Completion/Unix/Command/_swaks
@@ -0,0 +1,40 @@
+#compdef swaks
+
+_arguments \
+ '(-s --server -p --port)'{-s+,--server=}'[target host[:port\]]:host[\:port]:_hosts' \
+ '(-p --port)'{-p+,--port=}'[target port number]:port number:(25 465 587)' \
+ '--copy-routing[derive target host:port from email address domain part]:email address domain part' \
+ '(-t --to)'{-t+,--to=}':envelope recipient(s):_sequence _email_addresses -c' \
+ '(-f --from)'{-f+,--from=}':envelope sender:_email_addresses -c' \
+ '(--ehlo --lhlo -h --helo)'{-h+,--ehlo,--helo,--lhlo}':HELO string:_hosts' \
+ '(-q --quit-after)'{-q+,--quit-after=}'[stop transaction early]:stop point:((
+ CONNECT\:banner BANNER\:banner
+ FIRST-HELO\:first\ HELO FIRST-EHLO\:first\ HELO
+ XCLIENT\:XCLIENT
+ TLS\:TLS\ negotiation
+ HELO\:second\ HELO EHLO\:second\ HELO
+ AUTH\:authentication
+ MAIL\:MAIL\ FROM FROM\:MAIL\ FROM
+ RCPT\:RCPT\ TO TO\:RCPT\ TO
+ ))' \
+ '--protocol=:protocol variant:((
+ SMTP\:HELO\ 25
+ SSMTP\:EHLO\ 465
+ SSMTPA\:EHLO\ 465\ authenticated
+ SMTPS\:HELO\ 465
+ ESMTP\:EHLO\ 25
+ ESMTPA\:EHLO\ 25\ authenticated
+ ESMTPS\:EHLO\ STARTTLS\ 25
+ ESMTPSA\:EHLO\ STARTTLS\ 25\ authenticated
+ ))' \
+ '-tls[TLS required]' \
+ '(-tlsos --tls-optional-strict)'{-tlsos,--tls-optional-strict}'[TLS iff offered by target]' \
+ '(-tlsc --tls-on-connect)'{-tlsc,--tls-on-connect}'[TLS on connect (port 465)]' \
+ '(-tlsp --tls-protocol)'{-tlsp,--tls-protocol=}':TLS protocol:(sslv2 sslv3 tlsv1 tlsv1_1 tlsv1_2)' \
+ '-tls-cipher:OpenSSL cipher string: ' \
+ '--tls-verify[verify TLS certificates]' \
+ '--tls-ca-path=:OpenSSL CAfile or CAdir:_files' \
+ '--tls-get-peer-cert=-:file to write (omit for STDOUT)' \
+ '(-d --data)'{-d+,--data=}'[specify DATA payload]:filename (or string with tokens):_files' \
+ '*'{-ah,--add-header=}'[add headers]:<Header>\: Value' \
+ '*'{-h,--header=}'[replace headers]:<Header>\: Value'
|