diff options
| author | Oliver Kiddle <opk@users.sourceforge.net> | 2001-07-06 11:22:13 +0000 |
|---|---|---|
| committer | Oliver Kiddle <opk@users.sourceforge.net> | 2001-07-06 11:22:13 +0000 |
| commit | 13484584472e82505c9decd686bb67771af508c9 (patch) | |
| tree | 54d885631c64f2b03443535ecbbe1504dc94edac /Completion/Unix/Command/_sysctl | |
| parent | (15283) (diff) | |
| download | zsh-13484584472e82505c9decd686bb67771af508c9.tar zsh-13484584472e82505c9decd686bb67771af508c9.tar.gz zsh-13484584472e82505c9decd686bb67771af508c9.tar.bz2 zsh-13484584472e82505c9decd686bb67771af508c9.tar.lz zsh-13484584472e82505c9decd686bb67771af508c9.tar.xz zsh-13484584472e82505c9decd686bb67771af508c9.tar.zst zsh-13484584472e82505c9decd686bb67771af508c9.zip | |
add exclusion lists and use _multi_parts for sysctl completion on BSD (15252)
Diffstat (limited to 'Completion/Unix/Command/_sysctl')
| -rw-r--r-- | Completion/Unix/Command/_sysctl | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/Completion/Unix/Command/_sysctl b/Completion/Unix/Command/_sysctl index 4a2eaaf87..1ac0394e7 100644 --- a/Completion/Unix/Command/_sysctl +++ b/Completion/Unix/Command/_sysctl @@ -1,25 +1,28 @@ #compdef sysctl case $OSTYPE in - freebsd[0-4]*) - _arguments -s \ - '-a[list all]' \ - '-A[show all opaques (values suppressed)]' \ - '-b[binary output]' \ - '-n[show only variable values]' \ - '-w[write mode]' \ - '-X[show all opaques (entire values)]' \ - "*:sysctl variable:compadd ${words[(r)-w]:+-S =} $(sysctl -A | sed 's/:.*//')" + freebsd[0-4].*) + : ${(A)_cache_sysctlvars:=${${$(sysctl -A):#[^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' ;; - freebsd[5-9]*) - _arguments -s \ - '-a[list all]' \ + freebsd[5-9].*) + local -a sysctlvars + sysctlvars=( $(sysctl -aN) ) + _arguments -s -A "-*" \ + '(*)-a[list all]' \ '-b[binary output]' \ - '-N[show only variable names]' \ - '-n[show only variable values]' \ - '-o[show opaques as well (values suppressed)]' \ - '-x[show opaques as well (entire values)]' \ - '*:sysctl variable:compadd -S "" - $(sysctl -aN)' + '(-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' ;; linux*) _arguments -A "-*" \ |
