forked from pool/systemd
40 lines
1.8 KiB
Diff
40 lines
1.8 KiB
Diff
|
Based on c6a373a26348544d944b08bf0c5dea4f72f6980b Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||
|
Date: Sat, 26 Jul 2014 20:11:58 -0400
|
||
|
Subject: [PATCH] bash-completion: use list-unit-files to get "all" units
|
||
|
|
||
|
I think that it is better to return good results slightly more slowly,
|
||
|
than partial quickly. Also reading from disk seems fast enough. Even
|
||
|
the delay on first try with completely cold cache is acceptable.
|
||
|
|
||
|
This is just for bash, 'cause zsh was already doing this.
|
||
|
|
||
|
https://bugzilla.redhat.com/show_bug.cgi?id=790768
|
||
|
---
|
||
|
shell-completion/bash/systemctl.in | 6 ++++--
|
||
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||
|
|
||
|
diff --git shell-completion/bash/systemctl.in shell-completion/bash/systemctl.in
|
||
|
index c5950cc..69ef04b 100644
|
||
|
--- shell-completion/bash/systemctl
|
||
|
+++ shell-completion/bash/systemctl
|
||
|
@@ -51,11 +51,13 @@ __filter_units_by_property () {
|
||
|
done
|
||
|
}
|
||
|
|
||
|
-__get_all_units () { __systemctl $1 list-units --all \
|
||
|
+__get_all_units () { { __systemctl $1 list-unit-files; __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_startable_units () { __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap \
|
||
|
+__get_startable_units () { {
|
||
|
+ __systemctl $1 list-units --all -t service,timer,socket,mount,automount,path,snapshot,swap
|
||
|
+ __systemctl $1 list-unit-files -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; }; }
|
||
|
--
|
||
|
1.7.9.2
|
||
|
|