1
0
mirror of https://github.com/systemd/systemd.git synced 2024-11-05 06:52:22 +03:00
systemd/shell-completion/zsh/_systemd-inhibit
dana c501ecd70c zsh completion: Prevent functions from clobbering each other, &c.
- Don't redefine helpers on every call
- Prefix helper names with main function name
- Adjust some helper names for consistency and convention adherance
2019-01-08 15:23:37 +01:00

37 lines
1.1 KiB
Plaintext

#compdef systemd-inhibit
# SPDX-License-Identifier: LGPL-2.1+
(( $+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:_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'