systemd-analyze critical-chain accepts an optional unit argument,
however currently there's no shell-completion for it
This change provides unit name completion for both bash and zsh.
Closes: #20927
machinectl list --full --no-legend --no-pager | { while read a b; do echo " $a"; done; };
}
+__get_units_all() {
+ systemctl list-units --no-legend --no-pager --plain --all | \
+ { while read -r a b c; do echo " $a"; done }
+}
+
__get_services() {
systemctl list-units --no-legend --no-pager --plain -t service --all $1 | \
{ while read -r a b c; do [[ $b == "loaded" ]]; echo " $a"; done }
elif __contains_word "$verb" ${VERBS[CRITICAL_CHAIN]}; then
if [[ $cur = -* ]]; then
comps='--help --version --system --user --fuzz --no-pager'
+ else
+ comps=$( __get_units_all )
fi
elif __contains_word "$verb" ${VERBS[DOT]}; then
_files -W '(/run/systemd/ /etc/systemd/ /usr/lib/systemd/)' -P 'systemd/'
}
+(( $+functions[_systemd-analyze_critical-chain] )) ||
+ _systemd-analyze_critical-chain() {
+ local -a _units
+ systemctl list-units --no-legend --no-pager --plain --all |
+ while read -r a b c; do
+ _units+=($a)
+ done
+ compadd -a _units
+ }
+
(( $+functions[_systemd-analyze_security] )) ||
_systemd-analyze_security() {
_sd_unit_files