about summary refs log tree commit diff
path: root/Completion/Unix/Command/_sysctl
diff options
context:
space:
mode:
authorOliver Kiddle <opk@zsh.org>2016-07-17 12:37:29 +0200
committerOliver Kiddle <opk@zsh.org>2016-07-17 12:37:29 +0200
commit9991707b6bbdfe8940b2098128d85f61a966d758 (patch)
tree7e841073d3546ef999affafdda26fa210ea9a91f /Completion/Unix/Command/_sysctl
parent52f46cca751cc40db978b88dd6379866cad30b15 (diff)
downloadzsh-9991707b6bbdfe8940b2098128d85f61a966d758.tar.gz
zsh-9991707b6bbdfe8940b2098128d85f61a966d758.tar.xz
zsh-9991707b6bbdfe8940b2098128d85f61a966d758.zip
38868: update completions for new options on FreeBSD
Diffstat (limited to 'Completion/Unix/Command/_sysctl')
-rw-r--r--Completion/Unix/Command/_sysctl22
1 files changed, 20 insertions, 2 deletions
diff --git a/Completion/Unix/Command/_sysctl b/Completion/Unix/Command/_sysctl
index 9d9e8b968..cf88c3dc1 100644
--- a/Completion/Unix/Command/_sysctl
+++ b/Completion/Unix/Command/_sysctl
@@ -1,21 +1,39 @@
 #compdef sysctl
 
+local -a args
+
 case $OSTYPE in
+  freebsd<10->.*)
+    args+=(
+      '-f+[specify file of name/value pairs to process first]:file:_files'
+      '-T[display only variables that are setable via loader]'
+      '-W[display only writable variables that are not statistical]'
+    )
+  ;|
+  dragonfly*|freebsd<8->.*)
+    args+=( "-i[silently exit if variable doesn't exist]" )
+  ;|
   *freebsd<5->.*|freebsd4.[4-9]*)
     local -a sysctlvars
     sysctlvars=( $(_call_program sysctl-variables sysctl -aN) )
-    _arguments -s -A "-*" \
+    _arguments -s -S -A "-*" $args \
+      '(-a -o *)-A[equivalent to -o -a (for compatibility)]' \
       '(*)-a[list all]' \
       '-b[binary output]' \
+      '-d[print the description of the variable instead of its value]' \
+      '(-N -n)-e[separate name and value with =]' \
+      '-h[format output for human readability]' \
       '(-n)-N[show only variable names]' \
       '(-N)-n[show only variable values]' \
       '(-x)-o[show opaques as well (values suppressed)]' \
+      '-q[suppress some warnings]' \
+      '(* -o)-X[equivalent to -x -a (for compatibility)]' \
       '(-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 "-*" \
+    _arguments -s -A "-*" $args \
       '(-w -X *)-a[list all]' \
       '(-w -X *)-A[show all opaques (values suppressed)]' \
       '(-w)-b[binary output]' \