From: Eric Cook Date: Mon, 18 May 2015 05:02:41 +0000 (-0400) Subject: zsh-completion: less forking in _systemctl_failed_units() and make the array `_sys_fa... X-Git-Tag: v220~95 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=463985a9f489c54b89ee7ce6ffd67501035420b4;p=thirdparty%2Fsystemd.git zsh-completion: less forking in _systemctl_failed_units() and make the array `_sys_failed_units' local to the completer. --- diff --git a/shell-completion/zsh/_systemctl.in b/shell-completion/zsh/_systemctl.in index 304fec4782a..a032ea245ba 100644 --- a/shell-completion/zsh/_systemctl.in +++ b/shell-completion/zsh/_systemctl.in @@ -165,7 +165,7 @@ _systemctl_restartable_units(){ { while read -r a b; do echo -E - " $a"; done; } )) ) } -_systemctl_failed_units() {_sys_failed_units=( $(__systemctl list-units --failed | { while read -r a b; do echo -E - " $a"; done; }) )} +_systemctl_failed_units() {_sys_failed_units=( ${${(f)"$(__systemctl list-units --failed)"}%% *} ) } _systemctl_unit_state() { typeset -gA _sys_unit_state; _sys_unit_state=( $(__systemctl list-unit-files) ) } local fun @@ -201,7 +201,7 @@ done # Completion functions for FAILED_UNITS (( $+functions[_systemctl_reset-failed] )) || _systemctl_reset-failed() { - _systemctl_failed_units + local _sys_failed_units; _systemctl_failed_units compadd "$@" -a - _sys_failed_units || _message "no failed unit found" }