-_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
-}
-