]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
bash-completion: analyze: support cat-config verb 8959/head
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 10 May 2018 19:11:56 +0000 (04:11 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 10 May 2018 19:11:56 +0000 (04:11 +0900)
Follow-up for 854a42fb2e9db1b9eaa381559d7671f2e9b3a0f1.

shell-completion/bash/systemd-analyze

index 9c59429f0fd4f42601af822b0acdd6bcd83fdecc..1d46a3c91460956e69d2559de611aaaf02fbb893 100644 (file)
@@ -38,7 +38,7 @@ _systemd_analyze() {
         local -A OPTS=(
                [STANDALONE]='-h --help --version --system --user --global --order --require --no-pager
                              --man=no --generators=yes'
-                      [ARG]='-H --host -M --machine --fuzz --from-pattern --to-pattern'
+                      [ARG]='-H --host -M --machine --fuzz --from-pattern --to-pattern --root'
         )
 
         local -A VERBS=(
@@ -50,8 +50,15 @@ _systemd_analyze() {
                 [VERIFY]='verify'
                 [SECCOMP_FILTER]='syscall-filter'
                 [SERVICE_WATCHDOGS]='service-watchdogs'
+                [CAT_CONFIG]='cat-config'
         )
 
+        local CONFIGS='systemd/bootchart.conf systemd/coredump.conf systemd/journald.conf
+                       systemd/journal-remote.conf systemd/journal-upload.conf systemd/logind.conf
+                       systemd/resolved.conf systemd/networkd.conf systemd/resolved.conf
+                       systemd/sleep.conf systemd/system.conf systemd/timedated.conf
+                       systemd/timesyncd.conf systemd/user.conf udev/udev.conf'
+
         _init_completion || return
 
         for ((i=0; i < COMP_CWORD; i++)); do
@@ -132,6 +139,16 @@ _systemd_analyze() {
                         comps='on off'
                 fi
 
+        elif __contains_word "$verb" ${VERBS[CAT_CONFIG]}; then
+                if [[ $cur = -* ]]; then
+                        comps='--help --version --root --no-pager'
+                elif [[ -z $cur ]]; then
+                        comps="$CONFIGS"
+                        compopt -o filenames
+                else
+                        comps="$CONFIGS $( compgen -A file -- "$cur" )"
+                        compopt -o filenames
+                fi
         fi
 
         COMPREPLY=( $(compgen -W '$comps' -- "$cur") )