| #compdef systemd-inhibit -*- shell-script -*- |
| # 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' |