return 1
}
-_hosts_or_user_at_host() {
- _alternative \
- 'users-hosts:: _user_at_host' \
- 'hosts:: _hosts'
-}
-
_outputmodes() {
local -a _output_opts
_output_opts=(short short-monotonic verbose export json json-pretty json-see cat)
_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]' \
{-f,--force}'[When enabling unit files, override existing symlinks. When shutting down, execute action immediately]' \
'--root=[Enable unit files in the specified root directory]:directory:_directories' \
'--runtime[Enable unit files only temporarily until next reboot]' \
- {-H,--host=}'[Show information for remote host]:userathost:_hosts_or_user_at_host' \
+ {-H,--host=}'[Show information for remote host]:userathost:_sd_hosts_or_user_at_host' \
{-P,--privileged}'[Acquire privileges before execution]' \
{-n,--lines=}'[Journal entries to show]:number of entries' \
{-o,--output=}'[Change journal output mode]:modes:_outputmodes' \