about summary refs log tree commit diff
path: root/Completion
diff options
context:
space:
mode:
Diffstat (limited to 'Completion')
-rwxr-xr-xCompletion/Unix/Command/_modutils21
1 files changed, 20 insertions, 1 deletions
diff --git a/Completion/Unix/Command/_modutils b/Completion/Unix/Command/_modutils
index 6021f0aec..481b8b289 100755
--- a/Completion/Unix/Command/_modutils
+++ b/Completion/Unix/Command/_modutils
@@ -47,11 +47,25 @@ case "$service" in
              '(--autoclean)-k[set autoclean]' \
              '(-k)--autoclean' \
              '(--show)-n[do not act]' \
-             '(-n)--show'
+             '(-n)--show' \
+             '(--quiet)-q[do not complain about insmod failures]' \
+             '(-q)--quiet' \
+             '(--syslog)-s[report via syslog instead of stderr]' \
+             '(-s)--syslog' \
+             '(--type)-t[module type]:moduletype:' \
+             '(-t)--type:moduletype:' \
+             '(--verbose)-v[print all commands as executed]' \
+             '(-v)--verbose' \
+             '(--version)-V[show release version]' \
+             '(-V)--version' \
+             '(--config)-C[config file]:config file:_files' \
+             '(-C)--config:config file:_files'
   )
 
   _arguments '(--remove)-r[remove]:*:loaded module:->modprobe_remove' \
              '(-r)--remove:*:loaded module:->modprobe_remove' \
+             '(--list)-l[list matching modules]:*:module file:->modprobe_list' \
+             '(-l)--list:*:module file:->modprobe_list' \
 	     "$_modprobe_arguments[@]" && return 0
 
   ;;
@@ -65,4 +79,9 @@ case "$state" in
                    '*:loaded module:_modutils_loaded_modules'
   ;;
 
+  modprobe_list)
+        _call_function ret _modutils_$state && return ret
+        _arguments "$_modprobe_arguments[@]" \
+                   '*:module file:compadd ${^${(M)${(f)"$(modprobe -c)"}:#path*}#*[=]}/**/*.o(:t)'
+
 esac