From: Oliver Kiddle <okiddle@yahoo.co.uk>
To: Zsh workers <zsh-workers@zsh.org>
Subject: PATCH: complete missing options to zmodload
Date: Fri, 10 Oct 2014 16:49:59 +0200 [thread overview]
Message-ID: <8041.1412952599@thecus.kiddle.eu> (raw)
The zmodload completion was missing the -R and -m options. There was
also issues with completing features: the "-*" pattern given to
_arguments' -A option matches some feature specifications and without an
initial + or -, the states need reversing. This also adds more to the
exclusion lists.
Oliver
diff --git a/Completion/Zsh/Command/_zmodload b/Completion/Zsh/Command/_zmodload
index ffcab28..e144b98 100644
--- a/Completion/Zsh/Command/_zmodload
+++ b/Completion/Zsh/Command/_zmodload
@@ -4,35 +4,38 @@ local suf comp state line expl curcontext="$curcontext" ret=1 NORMARG
typeset -A opt_args
suf=()
-_arguments -n -C -A "-*" -s \
- '(-i -u -d -a -b -c -I -p -f -e)-A[create module aliases]' \
- '-u[unload module]' \
- '(-e)-a[autoload module]' \
- '(-c -I -p -f)-b[autoload module for builtins]' \
- '(-b -I -p -f)-c[autoload module for condition codes]' \
- '(-i)-d[list or specify module dependencies]' \
- '(-i -u -d -a -b -c -p -f -L -A)-e[test if modules are loaded]' \
- '(-b -c -I -p)-f[autoload module for math functions]' \
- '(-u -b -c -p -f -A)-F[handle features]' \
+_arguments -n -C -S -s \
+ '(-R -P -i -u -d -a -b -c -I -p -f -e -F -m)-A[create module aliases]' \
+ '(-)-R[remove module aliases]' \
+ '(-A -R -F -L -m -P -l -e)-u[unload module]' \
+ '(-d -e -l)-a[autoload module]' \
+ '(-c -d -I -p -f -F -P -l -m -A -R)-b[autoload module for builtins]' \
+ '(-b -d -I -p -f -F -P -l -m -A -R)-c[autoload module for condition codes]' \
+ '(-A -R -F -I -P -a -b -c -e -f -i -l -m -p)-d[list or specify module dependencies]' \
+ '(-i -u -d -a -b -c -p -f -L -R)-e[test if modules are loaded]' \
+ '(-b -c -d -I -p -F -P -l -m -A -R)-f[autoload module for math functions]' \
+ '(-u -b -c -d -p -f -A -R -I)-F[handle features]' \
+ '(-u -b -c -d -p -f -A -R -I)-m[treat feature arguments as patterns]' \
'(-d -e)-i[suppress error if command would do nothing]' \
- '(-b -c -p -f)-I[define infix condition names]' \
- '(-u -b -c -p -f -A)-l[list features]' \
+ '(-b -c -d -p -f -F -P -m)-I[define infix condition names]' \
+ '(-u -b -c -d -p -f -A -R)-l[list features]' \
'(-e -u)-L[output in the form of calls to zmodload]' \
- '(-b -c -I -f)-p[autoload module for parameters]' \
- '(-u -b -c -p -f -A)-P[array param for features]:array name:_parameters' \
- '*:params:->params' && ret=0
+ '(-b -c -d -I -f -F -P -l -m -A -R)-p[autoload module for parameters]' \
+ '(-u -b -c -d -p -f -A -R)-P[array param for features]:array name:_parameters' \
+ '(-)*:params:->params' && ret=0
[[ $state = params ]] || return ret
-(( $+opt_args[-A] )) && compset -P '*=' || suf=( -S '=' )
-
+if (( $+opt_args[-A] )); then
+ compset -S '=*' || compset -P '*=' || suf=( -S '=' )
+fi
if (( $+opt_args[-F] && CURRENT > NORMARG )); then
local module=$words[NORMARG]
local -a features
if [[ $modules[$module] != loaded ]]; then
- _message "features for unloaded module"
+ _message -e features "feature for unloaded module"
else
zmodload -lFP features $module
if compset -P -; then
@@ -41,6 +44,9 @@ if (( $+opt_args[-F] && CURRENT > NORMARG )); then
elif compset -P +; then
# only disabled features needed
features=(${${features:#+*}##?})
+ else
+ # complete opposite of current feature state, + is default
+ features=(${${features#-}/(#s)+/-})
fi
_wanted features expl feature compadd -a features
fi
reply other threads:[~2014-10-10 14:55 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8041.1412952599@thecus.kiddle.eu \
--to=okiddle@yahoo.co.uk \
--cc=zsh-workers@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).