From 9a8f7d979bea9e082c6ccd84f29973f40b6c7e7c Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Thu, 26 Sep 2002 11:59:39 +0000 Subject: moved from Completion/Unix/Command/_modutils --- Completion/Linux/Command/_modutils | 87 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 Completion/Linux/Command/_modutils (limited to 'Completion') diff --git a/Completion/Linux/Command/_modutils b/Completion/Linux/Command/_modutils new file mode 100644 index 000000000..1b47e8a3d --- /dev/null +++ b/Completion/Linux/Command/_modutils @@ -0,0 +1,87 @@ +#compdef modprobe rmmod + +local curcontext="$curcontext" state line expl loaded + +_modutils_loaded_modules() { + +if [[ -r /proc/modules ]]; then + loaded=(${${(f)"$(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 + + ;; + +esac + +case "$state" in + modprobe_remove) + _call_function ret _modutils_$state && return ret + _arguments "$_modprobe_arguments[@]" \ + '*: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 -- cgit 1.4.1