diff options
Diffstat (limited to 'shell-completion/zsh/_systemd-inhibit')
-rw-r--r-- | shell-completion/zsh/_systemd-inhibit | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/shell-completion/zsh/_systemd-inhibit b/shell-completion/zsh/_systemd-inhibit new file mode 100644 index 0000000..1ff8487 --- /dev/null +++ b/shell-completion/zsh/_systemd-inhibit @@ -0,0 +1,36 @@ +#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' |