From 887cbbdbed140808f0ec0faf5f7e7ecd4eccb7af Mon Sep 17 00:00:00 2001 From: Oliver Kiddle Date: Mon, 30 May 2005 09:46:57 +0000 Subject: Joerg Sonnenberger: 21252: Dragonfly BSD support --- Completion/Unix/Command/_sysctl | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Completion/Unix/Command/_sysctl (limited to 'Completion/Unix/Command/_sysctl') diff --git a/Completion/Unix/Command/_sysctl b/Completion/Unix/Command/_sysctl new file mode 100644 index 000000000..99870b405 --- /dev/null +++ b/Completion/Unix/Command/_sysctl @@ -0,0 +1,45 @@ +#compdef sysctl + +case $OSTYPE in + freebsd[5-9].*|freebsd4.[4-9]*) + local -a sysctlvars + sysctlvars=( $(sysctl -aN) ) + _arguments -s -A "-*" \ + '(*)-a[list all]' \ + '-b[binary output]' \ + '(-n)-N[show only variable names]' \ + '(-N)-n[show only variable values]' \ + '(-x)-o[show opaques as well (values suppressed)]' \ + '(-o)-x[show opaques as well (entire values)]' \ + '(-a)*:sysctl variable:_multi_parts -i . sysctlvars' + ;; + freebsd[0-4].*|darwin*|dragonfly*) + : ${(A)_cache_sysctlvars:=${${$(sysctl -A 2>/dev/null):#[^a-z]*}%%:*}} + _arguments -s -A "-*" \ + '(-w -X *)-a[list all]' \ + '(-w -X *)-A[show all opaques (values suppressed)]' \ + '(-w)-b[binary output]' \ + '(-w)-n[show only variable values]' \ + '(-a -A -b -n -X)-w[write mode]' \ + '(-a -A -w *)-X[show all opaques (entire values)]' \ + '(-a -A -X)*:sysctl variable:_multi_parts ${words[(r)-w]:+-S=} -i . _cache_sysctlvars' + ;; + linux*) + _arguments -A "-*" \ + '-n[show only variable values]' \ + '(-n -p -a -A)-w[write mode]' \ + '(-n -w -a -A *)-p[specify file to load sysctl settings from]:file:_files' \ + '(-n -w -p -A *)-a[list all]' \ + '(-n -w -p -a *)-A[list all in table form]' \ + '(-n -p -a -A)*:sysctl variable:_files -W /proc/sys' + ;; + openbsd*) + : ${(A)_cache_sysctlvars:=${${(f)"$(sysctl -a)"}%% *}} + _arguments -s -A "-*" \ + '(-w -A *)-a[list all string and integer variables]' \ + '(-w -a *)-A[list all known variables]' \ + '(-w)-n[show only values]' \ + '(-a -A -n)-w[write variable]' \ + '(-a -A)*:sysctl variable:_multi_parts ${words[(r)-w]:+-S=} -i . _cache_sysctlvars' + ;; +esac -- cgit v1.2.3-70-g09d2