Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: add more options to swaks completion
- X-seq: zsh-workers 45218
- From: Oliver Kiddle <okiddle@xxxxxxxxxxx>
- To: Zsh workers <zsh-workers@xxxxxxx>
- Subject: PATCH: add more options to swaks completion
- Date: Fri, 03 Jan 2020 22:53:22 +0100
- Authentication-results: amavisd4.gkg.net (amavisd-new); dkim=pass (2048-bit key) header.d=yahoo.co.uk
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- List-unsubscribe: <mailto:zsh-workers-unsubscribe@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
- References: <98224-1578088402.826899.ref@ReF5.9OVB.VgF_>
I needed to use swaks recently including some of the options that aren't
covered by the completion. This adds a few more, mostly TLS related,
options but the function remains incomplete.
Oliver
diff --git a/Completion/Unix/Command/_swaks b/Completion/Unix/Command/_swaks
index a0ffb53ad..0e92221bd 100644
--- a/Completion/Unix/Command/_swaks
+++ b/Completion/Unix/Command/_swaks
@@ -1,5 +1,8 @@
#compdef swaks
+local ign
+
+(( $#words > 2 )) && ign='!'
_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)' \
@@ -27,14 +30,27 @@ _arguments \
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]' \
+ '(-tls -tlsos --tls-optional-strict)-tls[TLS required]' \
+ '(-tls -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)' \
+ '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-a+,--auth=}'[use authentication, failing if no common auth-types found]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \
+ '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-ao,--auth-optional=}'[use authentication if common auth-types found]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \
+ '(-a --auth -ao --auth-optional -aos --auth-optional-strict)'{-aos,--auth-optional-strict=}'[use authentication]::auth type:_sequence compadd - LOGIN PLAIN CRAM-MD5 DIGEST-MD5 CRAM-SHA1 NTLM SPA MSN' \
+ '(-ap --auth-password)'{-ap,--auth-password=}'[provide the password to be used for authentication]::password' \
+ \*{-ae,--auth-extra=}'[add extra information to authentication process]: :_values keywords
+ {realm,domain,dmd5-{serv-type,host,serv-name}}\:value' \
+ \*{-am,--auth-map=}'[map alternate names for authentication types]:alias=type,...' \
+ '(-apt --auth-plaintext)'{-apt,--auth-plaintext}'[show auth strings in plaintext when printing on screen]' \
+ '(-ahp --auth-hide-password)'{-ahp,--auth-hide-password}'[replace passwords with dummy string when printing to terminal]' \
'(-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'
+ '*'{-h,--header=}'[replace headers]:<Header>\: Value' \
+ "${ign}(-)--support[display capabilities and exit]" \
+ "--dump[display results of option processing but send no mail]" \
+ "${ign}(-)--help[display usage information]" \
+ "${ign}(-)--version[display version information]"
Messages sorted by:
Reverse Date,
Date,
Thread,
Author