56 lines
2.0 KiB
Diff
56 lines
2.0 KiB
Diff
From 1ec5be9a85b46c697fc87405038427eaf9bebe1b Mon Sep 17 00:00:00 2001
|
|
From: Thomas Hindoe Paaboel Andersen <phomes@gmail.com>
|
|
Date: Mon, 3 Mar 2014 22:01:42 +0100
|
|
Subject: [PATCH] update bash completion for systemd-analyze
|
|
|
|
(cherry picked from commit 64ae7f1864d54f38d62e258322a7ea9756c7284b)
|
|
---
|
|
shell-completion/bash/systemd-analyze | 24 +++++++++++++++++++++++-
|
|
1 file changed, 23 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/shell-completion/bash/systemd-analyze b/shell-completion/bash/systemd-analyze
|
|
index 6afcd96..5575beb 100644
|
|
--- a/shell-completion/bash/systemd-analyze
|
|
+++ b/shell-completion/bash/systemd-analyze
|
|
@@ -25,10 +25,19 @@ __contains_word () {
|
|
done
|
|
}
|
|
|
|
+__get_machines() {
|
|
+ local a b
|
|
+ machinectl list --no-legend --no-pager | { while read a b; do echo " $a"; done; };
|
|
+}
|
|
+
|
|
_systemd_analyze() {
|
|
local i verb comps
|
|
local cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]}
|
|
- local OPTS='--help --version --system --user --from-pattern --to-pattern --order --require'
|
|
+
|
|
+ local -A OPTS=(
|
|
+ [STANDALONE]='--help --version --system --user --from-pattern --to-pattern --order --require --no-pager'
|
|
+ [ARG]='-H --host -M --machine'
|
|
+ )
|
|
|
|
local -A VERBS=(
|
|
[STANDALONE]='time blame plot dump'
|
|
@@ -47,6 +56,19 @@ _systemd_analyze() {
|
|
fi
|
|
done
|
|
|
|
+ if __contains_word "$prev" ${OPTS[ARG]}; then
|
|
+ case $prev in
|
|
+ --host|-H)
|
|
+ comps=$(compgen -A hostname)
|
|
+ ;;
|
|
+ --machine|-M)
|
|
+ comps=$( __get_machines )
|
|
+ ;;
|
|
+ esac
|
|
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
|
|
+ return 0
|
|
+ fi
|
|
+
|
|
if [[ -z $verb && $cur = -* ]]; then
|
|
COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
|
|
return 0
|