From 871dd54d31c313eb38cc5ad08c4ca9579b1ab05f Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Fri, 6 Jul 2001 11:28:32 +0000 Subject: add exclusion lists and use _multi_parts for sysctl completion on BSD (15252) --- Completion/BSD/Command/_kld | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 Completion/BSD/Command/_kld (limited to 'Completion/BSD') diff --git a/Completion/BSD/Command/_kld b/Completion/BSD/Command/_kld new file mode 100644 index 000000000..dd71f7a58 --- /dev/null +++ b/Completion/BSD/Command/_kld @@ -0,0 +1,43 @@ +#compdef kldload kldunload + +(( $+functions[_kld_module] )) || +_kld_module() { + local ret=1 + + compadd "$@" - /boot/kernel/*.ko(:t) /modules/*.ko(:t) && ret=0 + _files "$@" -g \*.ko && ret=0 + + return ret +} + +(( $+functions[_kld_unload] )) || +_kld_unload() { + compadd "$@" - $( /sbin/kldstat | awk '($1 ~ /^[0-9]/) { print $5 }' ) +} + +(( $+functions[_kld_unload_id] )) || +_kld_unload_id() { + compadd "$@" - $( /sbin/kldstat | awk '($1 ~ /^[0-9]/) { print $1 }' ) +} + +_kld() { + unset _cache_sysctlvars + + case "$service" in + kldload) + _arguments -s \ + '-v[be verbose]' \ + '*:module to load:_kld_module' + ;; + + kldunload) + _arguments -s \ + '-v[be verbose]' \ + '(-n)-i:module id to unload:_kld_unload_id' \ + '(-i)-n:module to unload:_kld_unload' \ + '*:module to unload:_kld_unload' + ;; + esac +} + +_kld "$@" -- cgit 1.4.1