X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=shell-completion%2Fzsh%2F_systemctl;h=560a54815c9a24fe9ad8da71728d445b80877840;hb=a02c5fe7cbad3ca0536286ceab0bde5fb1c0ba13;hp=70d6f3394a805dc02469b56c5b738475926f978d;hpb=ff7a0685a9aaa621f14bfe7cd36010a3236f775a;p=elogind.git diff --git a/shell-completion/zsh/_systemctl b/shell-completion/zsh/_systemctl index 70d6f3394..560a54815 100644 --- a/shell-completion/zsh/_systemctl +++ b/shell-completion/zsh/_systemctl @@ -4,6 +4,7 @@ { local -a _systemctl_cmds _systemctl_cmds=( + "list-sockets:List sockets" "list-units:List units" "start:Start (activate) one or more units" "stop:Stop (deactivate) one or more units" @@ -37,7 +38,6 @@ "is-enabled:Check whether unit files are enabled" "list-jobs:List jobs" "cancel:Cancel all, one, or more jobs" - "dump:Dump server status" "snapshot:Create a snapshot" "delete:Remove one or more snapshots" "show-environment:Dump environment" @@ -263,7 +263,7 @@ done (( $+functions[_systemctl_link] )) || _systemctl_link() { _files } # no systemctl completion for: -# [STANDALONE]='daemon-reexec daemon-reload default dump +# [STANDALONE]='daemon-reexec daemon-reload default # emergency exit halt kexec list-jobs list-units # list-unit-files poweroff reboot rescue show-environment' # [NAME]='snapshot load' @@ -288,24 +288,24 @@ _systemctl_caching_policy() return 1 } -_hosts_or_user_at_host() { - _alternative \ - 'users-hosts:: _user_at_host' \ - 'hosts:: _hosts' +_unit_states() { + local -a _states + _states=(loaded failed active inactive not-found listening running waiting plugged mounted exited dead masked) + _values -s , "${_states[@]}" } -_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_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 specifyied state]:unit state:(loaded failed active inactive not-found listening running waiting plugged mounted exited dead masked)' \ - \*{-p,--property=}'[Show only properties by specific name]:unit property' \ + {-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]' \ '--after[Show units ordered after]' \ @@ -328,13 +328,13 @@ _arguments -s \ "--no-reload[When enabling/disabling unit files, don't reload daemon configuration]" \ '--no-ask-password[Do not ask for system passwords]' \ '--kill-who=[Who to send signal to]:killwho:(main control all)' \ - {-s,--signal=}'[Which signal to send]:signal:_signals' \ + {-s+,--signal=}'[Which signal to send]:signal:_signals' \ {-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' \ + {-n+,--lines=}'[Journal entries to show]:number of entries' \ + {-o+,--output=}'[Change journal output mode]:modes:_sd_outputmodes' \ '--plain[When used with list-dependencies, print output as a list]' \ '*::systemctl command:_systemctl_command'