Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
PATCH: complete missing options to zmodload
- X-seq: zsh-workers 33420
- From: Oliver Kiddle <okiddle@xxxxxxxxxxx>
- To: Zsh workers <zsh-workers@xxxxxxx>
- Subject: PATCH: complete missing options to zmodload
- Date: Fri, 10 Oct 2014 16:49:59 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s1024; t=1412952601; bh=PzQwMVg21ZshRQE1aDuSi0cXPSeQyiWQkpEyo5VRi94=; h=X-Yahoo-Newman-Id:X-Yahoo-Newman-Property:X-YMail-OSG:X-Yahoo-SMTP:Received:From:To:Subject:MIME-Version:Content-Type:Content-ID:Date:Message-ID; b=qEbk33Iwq93wSLIWKi3cYOXmG1THBPaLUzib8RPXo73ca6rZ8ARUBecLuj0ERmoOd0T/i0u9Cx9kpLJhsXgCEe65F+CdPQcDICoBrMKT0FSL4xy/eajALzVBScfdRyF+FR6UCEQ5wCtGim+Mg2m+c/hFpkL+SCgMBn5AQS4I4xo=
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
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
Messages sorted by:
Reverse Date,
Date,
Thread,
Author