diff options
author | dana <dana@dana.is> | 2018-01-28 06:29:58 -0600 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2018-01-28 13:29:58 +0100 |
commit | 992f51ea423a64091924d94ce8238c77cfdf6748 (patch) | |
tree | 1411c3fe8c1e989ffa59b6fe6ef6990237f5ce27 | |
parent | 508058c9c522a92964d439af1af28761112f51b0 (diff) | |
download | systemd-992f51ea423a64091924d94ce8238c77cfdf6748.tar.gz |
Slightly improve performance of startable/restartable unit completion (#7839)
-rw-r--r-- | shell-completion/zsh/_systemctl.in | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/shell-completion/zsh/_systemctl.in b/shell-completion/zsh/_systemctl.in index 47ec9970e1..a3df9a0457 100644 --- a/shell-completion/zsh/_systemctl.in +++ b/shell-completion/zsh/_systemctl.in @@ -140,20 +140,19 @@ _systemctl_get_template_names() { echo -E - ${^${(M)${(f)"$(__systemctl list-uni _systemctl_active_units() {_sys_active_units=( ${${(f)"$(__systemctl list-units "*$PREFIX*$SUFFIX*" )"}%% *} )} _systemctl_startable_units(){ - _sys_startable_units=( $( _filter_units_by_property ActiveState inactive $( - _filter_units_by_property CanStart yes $( - __systemctl $mode list-unit-files --state enabled,disabled,static "*$PREFIX*$SUFFIX*" | \ - { while read -r a b; do [[ $a =~ @\. ]] || echo -E - " $a"; done; } - __systemctl $mode list-units --state inactive,failed "*$PREFIX*$SUFFIX*" | \ - { while read -r a b; do echo -E - " $a"; done; } )) ) ) + _sys_startable_units=( $( _filter_units_by_property ActiveState inactive $( + _filter_units_by_property CanStart yes ${${${(f)"$( + __systemctl $mode list-unit-files --state enabled,disabled,static "*$PREFIX*$SUFFIX*" + __systemctl $mode list-units --state inactive,failed "*$PREFIX*$SUFFIX*" + )"}:#*@.*}%%[[:space:]]*} + )) ) } _systemctl_restartable_units(){ - _sys_restartable_units=( $(_filter_units_by_property CanStart yes $( - __systemctl $mode list-unit-files --state enabled,disabled,static "*$PREFIX*$SUFFIX*" | \ - { while read -r a b; do [[ $a =~ @\. ]] || echo -E - " $a"; done; } - __systemctl $mode list-units "*$PREFIX*$SUFFIX*" | \ - { while read -r a b; do echo -E - " $a"; done; } )) ) + _sys_restartable_units=( $( _filter_units_by_property CanStart yes ${${${(f)"$( + __systemctl $mode list-unit-files --state enabled,disabled,static "*$PREFIX*$SUFFIX*" + __systemctl $mode list-units "*$PREFIX*$SUFFIX*" + )"}:#*@.*}%%[[:space:]]*} ) ) } _systemctl_failed_units() {_sys_failed_units=( ${${(f)"$(__systemctl list-units --state=failed "*$PREFIX*$SUFFIX*" )"}%% *} ) } |