From 20b3f379cfd44e61dd1838a107f1d5363fab5b5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 10 Apr 2013 22:40:58 -0400 Subject: systemctl: allow multiple arguments to --type This mirrors --property, and is generally useful. New functionality is used in bash completion. In case of zsh completion, new functionality is less useful because of caching. Nevertheless, zsh completion for restart is made to behave more-or-less the same as bash completion. At least sockets can be restarted. --- shell-completion/bash/systemctl | 7 ++----- shell-completion/systemd-zsh-completion.zsh | 2 +- 2 files changed, 3 insertions(+), 6 deletions(-) (limited to 'shell-completion') diff --git a/shell-completion/bash/systemctl b/shell-completion/bash/systemctl index aba76f6543..f24a145424 100644 --- a/shell-completion/bash/systemctl +++ b/shell-completion/bash/systemctl @@ -45,7 +45,7 @@ __get_all_units () { __systemctl $1 list-units --all \ | { while read -r a b; do echo " $a"; done; }; } __get_active_units () { __systemctl $1 list-units \ | { while read -r a b; do echo " $a"; done; }; } -__get_inactive_units () { __systemctl $1 list-units --all \ +__get_startable_units () { __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap \ | { while read -r a b c d; do [[ $c == "inactive" || $c == "failed " ]] && echo " $a"; done; }; } __get_failed_units () { __systemctl $1 list-units \ | { while read -r a b c d; do [[ $c == "failed" ]] && echo " $a"; done; }; } @@ -156,10 +156,7 @@ _systemctl () { elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then comps=$( __filter_units_by_property $mode CanStart yes \ - $( __get_inactive_units $mode \ - | while read -r line; do \ - [[ "$line" =~ \.(device|snapshot)$ ]] || echo " $line"; \ - done )) + $( __get_startable_units $mode)) elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then comps=$( __filter_units_by_property $mode CanStart yes \ diff --git a/shell-completion/systemd-zsh-completion.zsh b/shell-completion/systemd-zsh-completion.zsh index a54e9d727a..8b60859c23 100644 --- a/shell-completion/systemd-zsh-completion.zsh +++ b/shell-completion/systemd-zsh-completion.zsh @@ -536,7 +536,7 @@ for fun in restart reload-or-restart ; do _systemctl_all_units compadd "$@" - $( _filter_units_by_property CanStart yes \ ${_sys_all_units[*]} | while read line; do \ - [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || echo " $line"; \ + [[ "$line" =~ \.device$ ]] || echo " $line"; \ done ) } done -- cgit v1.2.1