about summary refs log tree commit diff
path: root/Completion/Darwin/Command/_nvram
diff options
context:
space:
mode:
authordana <dana@dana.is>2018-01-05 14:26:17 -0600
committerOliver Kiddle <opk@zsh.org>2018-01-06 00:13:51 +0100
commit0f0b602415961aa9ca069c9719a0fbb4bbb9941f (patch)
tree03001cfaf7ed12c26a354a996f52c4920d08cb76 /Completion/Darwin/Command/_nvram
parent0c5f851021b3aacea96d9ca446282b8dab9f260d (diff)
downloadzsh-0f0b602415961aa9ca069c9719a0fbb4bbb9941f.tar.gz
zsh-0f0b602415961aa9ca069c9719a0fbb4bbb9941f.tar.xz
zsh-0f0b602415961aa9ca069c9719a0fbb4bbb9941f.zip
42231: new completion functions for simple utilities belonging to the 'Darwin' and 'Linux' groups.
Diffstat (limited to 'Completion/Darwin/Command/_nvram')
-rw-r--r--Completion/Darwin/Command/_nvram30
1 files changed, 30 insertions, 0 deletions
diff --git a/Completion/Darwin/Command/_nvram b/Completion/Darwin/Command/_nvram
new file mode 100644
index 000000000..8158eb9d2
--- /dev/null
+++ b/Completion/Darwin/Command/_nvram
@@ -0,0 +1,30 @@
+#compdef nvram
+
+local ret=1
+local -a context line state state_descr tmp
+local -A opt_args val_args
+
+# Note: -x can only be used with -f/-p, but must be used first to have effect
+_arguments -s : \
+  '(: -)-c[delete all NVRAM variables]' \
+  '(: -)-d[delete specified NVRAM variable]: :->variables-ro' \
+  '(: -)-f[set NVRAM variables from file]: :_files' \
+  '(: -)-p[print all NVRAM variables]' \
+  '(-c -d)-x[use XML format for input and output]' \
+  '(-)*: :->variables-rw' \
+&& ret=0
+
+[[ $state == variables-* ]] && {
+  tmp=( ${${(f)"$( command $service -p )"}%%[[:space:]]*} )
+
+  [[ $state == variables-rw ]] &&
+  tmp=( ${^tmp}'::NVRAM variable value' )
+
+  if (( $#tmp )); then
+    _values -w 'NVRAM variable' $tmp && ret=0
+  else
+    _message 'NVRAM variable' && ret=0
+  fi
+}
+
+return ret