X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=shell-completion%2Fzsh%2F_systemd;h=1addfa5878463bd91fb34cecf60c91257c3f1553;hp=69087250409c9eb41b2ee67d1a823c3dcc93d5a1;hb=4a8fa990693edc47ac2192bf088a6e22e2390b41;hpb=67e654f83021a1b3ed55f4b75936d03591bf80c1 diff --git a/shell-completion/zsh/_systemd b/shell-completion/zsh/_systemd index 690872504..1addfa587 100644 --- a/shell-completion/zsh/_systemd +++ b/shell-completion/zsh/_systemd @@ -1,17 +1,9 @@ -#compdef systemd-analyze systemd-cat systemd-ask-password systemd-cgls systemd-cgtop systemd-delta systemd-detect-virt systemd-machine-id-setup systemd-notify systemd-tmpfiles systemd-tty-ask-password-agent machinectl +#compdef systemd-cat systemd-ask-password systemd-cgls systemd-cgtop systemd-delta systemd-detect-virt systemd-machine-id-setup systemd-notify systemd-tmpfiles systemd-tty-ask-password-agent _ctls() { local curcontext="$curcontext" state lstate line case "$service" in - systemd-analyze) - _arguments \ - {-h,--help}'[Show help text.]' \ - '--user[Shows performance data of user sessions instead of the system manager.]' \ - '--order[When generating graph for dot, show only order]' \ - '--require[When generating graph for dot, show only requirement]' \ - '*::systemd-analyze commands:_systemd_analyze_command' - ;; systemd-ask-password) _arguments \ {-h,--help}'[Show this help]' \ @@ -106,88 +98,10 @@ _ctls() '--plymouth[Ask question with plymouth(8).]' \ '--console[Ask question on /dev/console.]' ;; - machinectl) - _arguments \ - {-h,--help}'[Prints a short help text and exits.]' \ - '--version[Prints a short version string and exits.]' \ - {-p,--property=}'[Limit output to specified property.]:property:(Name Id Timestamp TimestampMonotonic Service Scope Leader Class State RootDirectory)' \ - {-a,--all}'[Show all proerties]' \ - (-l,--full)'[Do not ellipsize cgroup members]' \ - '--no-pager[Do not pipe output into a pager]' \ - '--no-ask-password[Do not ask for system passwords]' \ - '--kill-who=[Who to send signal to]:killwho:(leader all)' \ - {-s,--signal=}'[Which signal to send]:signal:_signals' \ - {-H,--host=}'[Show information for remote host]:userathost:_hosts_or_user_at_host' \ - {-P,--privileged}'[Acquire privileges before execution]' \ - '*::machinectl command:_machinectl_command' - ;; *) _message 'eh?' ;; esac } -_systemd_analyze_command(){ - local -a _systemd_analyze_cmds - # Descriptions taken from systemd-analyze --help. - _systemd_analyze_cmds=( - 'time:Print time spent in the kernel before reaching userspace' - 'blame:Print list of running units ordered by time to init' - 'critical-chain:Print a tree of the time critical chain of units' - 'plot:Output SVG graphic showing service initialization' - 'dot:Dump dependency graph (in dot(1) format)' - ) - - if (( CURRENT == 1 )); then - _describe "options" _systemd_analyze_cmds - else - _message "no more options" - fi -} - -_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 "$@" -} - -(( $+functions[_machinectl_command] )) || _machinectl_command() -{ - local -a _machinectl_cmds - _machinectl_cmds=( - "list:List currently running VMs/containers" - "status:Show VM/container status" - "show:Show properties of one or more VMs/containers" - "terminate:Terminate one or more VMs/containers" - "kill:Send signal to process or a VM/container" - ) - if (( CURRENT == 1 )); then - _describe -t commands 'machinectl command' _machinectl_cmds || compadd "$@" - else - local curcontext="$curcontext" - cmd="${${_machinectl_cmds[(r)$words[1]:*]%%:*}}" - if (( $#cmd )); then - case $cmd in - list) msg="no options" ;; - *) - _machines=( "${(foa)$(machinectl list | awk '{print $1}')}" ) - if [[ -n "$_machines" ]]; then - _describe 'machines' _machines - else - _message 'no machines' - fi - esac - else - _message "no more options" - fi - fi -} - _ctls "$@" #vim: set ft=zsh sw=4 ts=4 et