mirror of
https://github.com/systemd/systemd.git
synced 2024-11-02 02:21:44 +03:00
298b9e23a6
Some of the options in systemd can take multiple arguments, such as systemctl's --type option. Previously, you would only be able to complete a single type after the -t, but now zsh will continue to complete the types, separating them by commas. systemd-inhibit's --what command has colon (:), and that has been taken into account.
34 lines
958 B
Plaintext
34 lines
958 B
Plaintext
#compdef systemd-inhibit
|
|
|
|
_systemd_inhibit_command(){
|
|
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
|
|
}
|
|
|
|
_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]' \
|
|
'--why=[A descriptive string why is being inhibited]' \
|
|
'--mode=[One of block or delay]' \
|
|
'--list[List active inhibitors]' \
|
|
'*:commands:_systemd_inhibit_command'
|