summaryrefslogtreecommitdiff
path: root/shell-completion/zsh/_systemctl
diff options
context:
space:
mode:
authorWilliam Giokas <1007380@gmail.com>2013-08-14 22:09:14 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2013-08-15 11:29:08 -0400
commit298b9e23a6e21161a7fe486aab94944a58d5e90c (patch)
treef6a92e5e86445f2c91241fc5fee02da93d3ceb3a /shell-completion/zsh/_systemctl
parent1acbb95c2b58373909d1e7a09a2eed0f6595cf6e (diff)
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.
Diffstat (limited to 'shell-completion/zsh/_systemctl')
-rw-r--r--shell-completion/zsh/_systemctl16
1 files changed, 14 insertions, 2 deletions
diff --git a/shell-completion/zsh/_systemctl b/shell-completion/zsh/_systemctl
index dbe168a609..cc2df3c828 100644
--- a/shell-completion/zsh/_systemctl
+++ b/shell-completion/zsh/_systemctl
@@ -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]' \