| #compdef systemd-inhibit | |
| # SPDX-License-Identifier: LGPL-2.1-or-later | |
| (( $+functions[_systemd-inhibit_commands] )) || | |
| _systemd-inhibit_commands(){ | |
| if (( CURRENT == 1 )); then | |
| compset -q | |
| _normal | |
| else | |
| local n=${words[(b:2:i)[^-]*]} | |
| if (( n <= CURRENT )); then | |
| compset -n $n | |
| _alternative \ | |
| 'files:file:_files' \ | |
| 'commands:command:_normal' && return 0 | |
| fi | |
| _default | |
| fi | |
| } | |
| (( $+functions[_systemd-inhibit_what] )) || | |
| _systemd-inhibit_what() { | |
| local _inhibit | |
| _inhibit=(shutdown sleep idle handle-power-key handle-suspend-key handle-hibernate-key handle-lid-switch) | |
| _values -s : "${_inhibit[@]}" | |
| } | |
| _arguments \ | |
| {-h,--help}'[Show this help]' \ | |
| '--version[Show package version]' \ | |
| '--what=[Operations to inhibit]:options:_systemd-inhibit_what' \ | |
| '--who=[A descriptive string who is inhibiting]:who is inhibiting:' \ | |
| '--why=[A descriptive string why is being inhibited]:reason for the lock:' \ | |
| '--mode=[One of block or delay]:lock mode:( block delay )' \ | |
| '--list[List active inhibitors]' \ | |
| '*:commands:_systemd-inhibit_commands' |