chiark / gitweb /
man: use xinclude to de-deduplicate common text
[elogind.git] / shell-completion / bash / systemd-analyze
index 33833aac105f0c0351660dd6c13e14fe3da8d9a2..6afcd963c33f3cc9598410df8b8c1445a4e646f1 100644 (file)
@@ -31,14 +31,15 @@ _systemd_analyze() {
         local OPTS='--help --version --system --user --from-pattern --to-pattern --order --require'
 
         local -A VERBS=(
-                [NO_OPTION]='time blame plot'
+                [STANDALONE]='time blame plot dump'
                 [CRITICAL_CHAIN]='critical-chain'
                 [DOT]='dot'
+                [LOG_LEVEL]='set-log-level'
         )
 
         _init_completion || return
 
-        for ((i=0; $i <= $COMP_CWORD; i++)); do
+        for ((i=0; i < COMP_CWORD; i++)); do
                 if __contains_word "${COMP_WORDS[i]}" ${VERBS[*]} &&
                  ! __contains_word "${COMP_WORDS[i-1]}" ${OPTS[ARG]}; then
                         verb=${COMP_WORDS[i]}
@@ -54,7 +55,7 @@ _systemd_analyze() {
         if [[ -z $verb ]]; then
                 comps=${VERBS[*]}
 
-        elif __contains_word "$verb" ${VERBS[NO_OPTION]}; then
+        elif __contains_word "$verb" ${VERBS[STANDALONE]}; then
                 if [[ $cur = -* ]]; then
                         comps='--help --version --system --user'
                 fi
@@ -68,6 +69,14 @@ _systemd_analyze() {
                 if [[ $cur = -* ]]; then
                         comps='--help --version --system --user --from-pattern --to-pattern --order --require'
                 fi
+
+        elif __contains_word "$verb" ${VERBS[LOG_LEVEL]}; then
+                if [[ $cur = -* ]]; then
+                        comps='--help --version --system --user'
+                else
+                        comps='debug info notice warning err crit alert emerg'
+                fi
+
         fi
 
         COMPREPLY=( $(compgen -W '$comps' -- "$cur") )