Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

[patch] sysctl update for OpenBSD



-w hasn't been a valid flag since 4.2 so it should be safe to just kill
it ;). The :# * bit in _cache_sysctlvars is because kern.version has
a newline in it's value.

- Matthew Martin


diff --git a/Completion/Unix/Command/_sysctl b/Completion/Unix/Command/_sysctl
index ff3312f..9d9e8b9 100644
--- a/Completion/Unix/Command/_sysctl
+++ b/Completion/Unix/Command/_sysctl
@@ -34,13 +34,13 @@ case $OSTYPE in
       '(-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'
+    : ${(A)_cache_sysctlvars:=${${${(f)"$(sysctl -a 2>/dev/null)"}%%=*}:# *}}
+    _arguments -S -s -A "-*" \
+      '(-A -q *)-a[list all string and integer variables]' \
+      '(-a -q *)-A[list all known variables]' \
+      '-n[show only values]' \
+      '(-a -A)-q[suppress all output when setting a variable]' \
+      '(-a -A)*:sysctl variable:_multi_parts -i -S = -q . _cache_sysctlvars'
   ;;
   *)
     _default



Messages sorted by: Reverse Date, Date, Thread, Author