mirror of
https://github.com/systemd/systemd-stable.git
synced 2024-10-27 01:55:32 +03:00
zsh_completion: Allow specifying multiple arguments
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.
This commit is contained in:
parent
1acbb95c2b
commit
298b9e23a6
@ -351,6 +351,7 @@ dist_zshcompletion_DATA = \
|
||||
shell-completion/zsh/_systemd-nspawn \
|
||||
shell-completion/zsh/_systemd-analyze \
|
||||
shell-completion/zsh/_sd_hosts_or_user_at_host \
|
||||
shell-completion/zsh/_systemd-delta \
|
||||
shell-completion/zsh/_systemd
|
||||
|
||||
dist_sysctl_DATA = \
|
||||
|
@ -294,11 +294,23 @@ _outputmodes() {
|
||||
_describe -t output 'output mode' _output_opts || compadd "$@"
|
||||
}
|
||||
|
||||
_unit_states() {
|
||||
local -a _states
|
||||
_states=(loaded failed active inactive not-found listening running waiting plugged mounted exited dead masked)
|
||||
_values -s , "${_states[@]}"
|
||||
}
|
||||
|
||||
_unit_types() {
|
||||
local -a _types
|
||||
_types=(automount device mount path service snapshot socket swap target timer)
|
||||
_values -s , "${_types[@]}"
|
||||
}
|
||||
|
||||
_arguments -s \
|
||||
{-h,--help}'[Show help]' \
|
||||
'--version[Show package version]' \
|
||||
{-t,--type=}'[List only units of a particular type]:unit type:(automount device mount path service snapshot socket swap target timer)' \
|
||||
'--state=[Display units in the specified state]:unit state:(loaded failed active inactive not-found listening running waiting plugged mounted exited dead masked)' \
|
||||
{-t,--type=}'[List only units of a particular type]:unit type:_unit_types' \
|
||||
'--state=[Display units in the specifyied state]:unit state:_unit_states' \
|
||||
\*{-p,--property=}'[Show only properties by specific name]:unit property' \
|
||||
{-a,--all}'[Show all units/properties, including dead/empty ones]' \
|
||||
'--reverse[Show reverse dependencies]' \
|
||||
|
@ -1,4 +1,4 @@
|
||||
#compdef systemd-cat systemd-ask-password systemd-cgls systemd-cgtop systemd-delta systemd-detect-virt systemd-machine-id-setup systemd-notify systemd-tty-ask-password-agent
|
||||
#compdef systemd-cat systemd-ask-password systemd-cgls systemd-cgtop systemd-detect-virt systemd-machine-id-setup systemd-notify systemd-tty-ask-password-agent
|
||||
|
||||
_ctls()
|
||||
{
|
||||
@ -45,15 +45,6 @@ _ctls()
|
||||
{-b,--batch}'[Run in batch mode, accepting no input]' \
|
||||
'--depth=[Maximum traversal depth]'
|
||||
;;
|
||||
systemd-delta)
|
||||
_arguments \
|
||||
{-h,--help}'[Show this help]' \
|
||||
'--version[Show package version]' \
|
||||
'--no-pager[Do not pipe output into a pager]' \
|
||||
'--diff=[Show a diff when overridden files differ]:boolean:(1 0)' \
|
||||
{-t,--type=}'[Only display a selected set of override types]:types:(masked equivalent redirected overridden unchanged)' \
|
||||
':SUFFIX:(tmpfiles.d sysctl.d systemd/system)'
|
||||
;;
|
||||
systemd-detect-virt)
|
||||
_arguments \
|
||||
{-h,--help}'[Show this help]' \
|
||||
|
15
shell-completion/zsh/_systemd-delta
Normal file
15
shell-completion/zsh/_systemd-delta
Normal file
@ -0,0 +1,15 @@
|
||||
#compdef systemd-delta
|
||||
|
||||
_delta_type() {
|
||||
local -a _delta_types
|
||||
_delta_types=(masked equivalent redirected overridden unchanged)
|
||||
_values -s , "${_delta_types[@]}"
|
||||
}
|
||||
|
||||
_arguments \
|
||||
{-h,--help}'[Show this help]' \
|
||||
'--version[Show package version]' \
|
||||
'--no-pager[Do not pipe output into a pager]' \
|
||||
'--diff=[Show a diff when overridden files differ]:boolean:(1 0)' \
|
||||
{-t,--type=}'[Only display a selected set of override types]:types:_delta_type' \
|
||||
':SUFFIX:(tmpfiles.d sysctl.d systemd/system)'
|
@ -16,10 +16,16 @@ _systemd_inhibit_command(){
|
||||
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:(shutdown sleep idle handle-power-key handle-suspend-key handle-hibernate-key handle-lid-switch)' \
|
||||
'--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]' \
|
||||
|
Loading…
Reference in New Issue
Block a user