From b3d12ac0da2a8b25abc9052a4f350f1ea1108985 Mon Sep 17 00:00:00 2001 From: Ronan Pigott Date: Sun, 7 May 2023 14:08:29 -0700 Subject: [PATCH] zsh: add service-log-{level,target} completions for systemctl --- shell-completion/zsh/_systemctl.in | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/shell-completion/zsh/_systemctl.in b/shell-completion/zsh/_systemctl.in index 0f97c884a0..782b643841 100644 --- a/shell-completion/zsh/_systemctl.in +++ b/shell-completion/zsh/_systemctl.in @@ -29,6 +29,8 @@ "show:Show properties of one or more units/jobs or the manager" "cat:Show the source unit files and drop-ins" "set-property:Sets one or more properties of a unit" + "service-log-level:Get or set the logging threshold for service" + "service-log-target:Get or set the logging target for service" "help:Show documentation for specified units" "reset-failed:Reset failed state for all, one, or more units" "list-dependencies:Show unit dependency tree" @@ -301,6 +303,30 @@ for fun in stop kill try-restart condrestart ; do } done +(( $+functions[_systemctl_service-log-level] )) || + _systemctl_service-log-level() { + local -a log_levels=( emerg alert crit err warning notice info debug ) + local _sys_active_units; _systemctl_active_units + if (( CURRENT == 2 )); then + _wanted systemd-units expl 'active unit' \ + compadd "$@" -a - _sys_active_units || _message "no units found" + else + compadd "$@" -a - log_levels + fi +} + +(( $+functions[_systemctl_service-log-target] )) || + _systemctl_service-log-target() { + local -a log_targets=( console kmsg journal syslog null auto ) + local _sys_active_units; _systemctl_active_units + if (( CURRENT == 2 )); then + _wanted systemd-units expl 'active unit' \ + compadd "$@" -a - _sys_active_units || _message "no units found" + else + compadd "$@" -a - log_targets + fi +} + # Completion functions for ISOLATABLE_UNITS (( $+functions[_systemctl_isolate] )) || _systemctl_isolate() { -- 2.25.1