diff options
| author | Vincent Bernat <vincent@bernat.im> | 2014-08-26 17:38:52 +0200 |
|---|---|---|
| committer | Vincent Bernat <vincent@bernat.im> | 2014-08-26 23:01:10 +0200 |
| commit | 21768854d87f1f9d95ded77ef1d45081b8a238c1 (patch) | |
| tree | 16312f554a9852a251216d34f7b0565f7be73fce /src/_rfkill | |
| parent | Merge pull request #250 from RobSis/completion-nl (diff) | |
| download | zsh-completions-21768854d87f1f9d95ded77ef1d45081b8a238c1.tar zsh-completions-21768854d87f1f9d95ded77ef1d45081b8a238c1.tar.gz zsh-completions-21768854d87f1f9d95ded77ef1d45081b8a238c1.tar.bz2 zsh-completions-21768854d87f1f9d95ded77ef1d45081b8a238c1.tar.lz zsh-completions-21768854d87f1f9d95ded77ef1d45081b8a238c1.tar.xz zsh-completions-21768854d87f1f9d95ded77ef1d45081b8a238c1.tar.zst zsh-completions-21768854d87f1f9d95ded77ef1d45081b8a238c1.zip | |
Completion for `rfkill`
Diffstat (limited to 'src/_rfkill')
| -rw-r--r-- | src/_rfkill | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/src/_rfkill b/src/_rfkill new file mode 100644 index 0000000..1c88133 --- /dev/null +++ b/src/_rfkill @@ -0,0 +1,102 @@ +#compdef rfkill +# ------------------------------------------------------------------------------ +# Copyright (c) 2014 Vincent Bernat <bernat@luffy.cx> +# Copyright (c) 2014 Github zsh-users - http://github.com/zsh-users +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# ------------------------------------------------------------------------------ +# Description +# ----------- +# +# Completion script for rfkill (http://wireless.kernel.org/en/users/Documentation/rfkill) +# +# ------------------------------------------------------------------------------ +# Authors +# ------- +# +# * Vincent Bernat <bernat@luffy.cx> +# +# ------------------------------------------------------------------------------ + +_rfkill_types() { + declare -a devicetypes + devicetypes=(all + "wifi:Wireless LAN" "wlan:Wireless LAN" + "bluetooth:Bluetooth" + "uwb:Ultrawide Band" + "ultrawideband:Ultrawide Band" + "wimax:Wimax" + "wwan:3G" + "gps:GPS" + "fm:FM Radio" + "nfc:NFC") + _describe -t device-types "device types" devicetypes +} + +_rfkill_devices() { + declare -a devices + devices=(${(M)${(f)"$(rfkill list)"}:#[0-9]*}) + _rfkill_types + _describe -t devices "devices" devices +} + +_rfkill_commands () { + declare -a subcommands + subcommands=(help event list block unblock) + _describe -t rfkill-commands "rfkill command" subcommands +} + +_rfkill_subcommand () { + case "$words[1]" in + (help|event) + ;; + (list) + _arguments ':types:_rfkill_types' + ;; + (block|unblock) + _arguments ':device:_rfkill_devices' + ;; + (*) + _message 'Unknown subcommand' + esac +} + +_rfkill () { + local curcontext="$curcontext" state line + typeset -A opt_args + + _arguments -C \ + '--version[get version]:' \ + '(-): :->command' \ + '(-)*:: :->arguments' + + case $state in + (command) + _rfkill_commands + ;; + (arguments) + curcontext=${curcontext%:*:*}:rfkill-$words[1]: + _rfkill_subcommand + ;; + esac +} + +_rfkill "$@" + +# Local Variables: +# mode: Shell-Script +# sh-indentation: 2 +# indent-tabs-mode: nil +# sh-basic-offset: 2 +# End: +# vim: ft=zsh sw=2 ts=2 et |
