diff options
author | dana <dana@dana.is> | 2018-01-05 14:26:17 -0600 |
---|---|---|
committer | Oliver Kiddle <opk@zsh.org> | 2018-01-06 00:13:51 +0100 |
commit | 0f0b602415961aa9ca069c9719a0fbb4bbb9941f (patch) | |
tree | 03001cfaf7ed12c26a354a996f52c4920d08cb76 /Completion/Darwin/Command/_nvram | |
parent | 0c5f851021b3aacea96d9ca446282b8dab9f260d (diff) | |
download | zsh-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/_nvram | 30 |
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 |