chiark / gitweb /
job: print the "OK" status messages in normal green
[elogind.git] / shell-completion / systemd-bash-completion.sh
index 897f988fd9cef5669a46d1a05ee5d5425a9c7439..40e66e9d103d477f08cd88a42994f2292922f1bd 100644 (file)
@@ -60,7 +60,7 @@ _systemctl () {
         local -A OPTS=(
                [STANDALONE]='--all -a --defaults --fail --ignore-dependencies --failed --force -f --full --global
                              --help -h --no-ask-password --no-block --no-legend --no-pager --no-reload --no-wall
-                             --order --require --quiet -q --privileged -P --system --user --version --runtime'
+                             --quiet -q --privileged -P --system --user --version --runtime'
                       [ARG]='--host -H --kill-mode --kill-who --property -p --signal -s --type -t --root'
         )
 
@@ -100,7 +100,7 @@ _systemctl () {
         fi
 
         local -A VERBS=(
-                [ALL_UNITS]='is-active is-enabled status show mask preset'
+                [ALL_UNITS]='is-active is-failed is-enabled status show mask preset'
             [ENABLED_UNITS]='disable reenable'
            [DISABLED_UNITS]='enable'
              [FAILED_UNITS]='reset-failed'
@@ -113,9 +113,10 @@ _systemctl () {
                      [JOBS]='cancel'
                 [SNAPSHOTS]='delete'
                      [ENVS]='set-environment unset-environment'
-               [STANDALONE]='daemon-reexec daemon-reload default dot dump
-                             emergency exit halt kexec list-jobs list-units
-                             list-unit-files poweroff reboot rescue show-environment'
+               [STANDALONE]='daemon-reexec daemon-reload default dump
+                             emergency exit halt hibernate hybrid-sleep kexec list-jobs
+                             list-units list-unit-files poweroff reboot rescue
+                             show-environment suspend'
                      [NAME]='snapshot load'
                      [FILE]='link'
         )
@@ -299,7 +300,7 @@ _journalctl() {
                               -h --help -l --local --new-id128 -m --merge --no-pager
                               --no-tail -q --quiet --setup-keys --this-boot --verify
                               --version --list-catalog --update-catalog'
-                       [ARG]='-D --directory -F --field -o --output -u --unit'
+                       [ARG]='-D --directory -F --field -o --output -u --unit --user-unit'
                 [ARGUNKNOWN]='-c --cursor --interval -n --lines -p --priority --since --until
                               --verify-key'
         )
@@ -319,6 +320,9 @@ _journalctl() {
                         --unit|-u)
                                 comps=$(journalctl -F '_SYSTEMD_UNIT')
                         ;;
+                        --user-unit)
+                                comps=$(journalctl -F '_SYSTEMD_USER_UNIT')
+                        ;;
                         *)
                                 return 0
                         ;;
@@ -333,6 +337,20 @@ _journalctl() {
         elif [[ $cur = *=* ]]; then
                 mapfile -t field_vals < <(journalctl -F "${prev%=}" 2>/dev/null)
                 COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "${cur#=}") )
+        elif [[ $cur = /dev* ]]; then
+                compopt -o filenames
+                COMPREPLY=( $(compgen -f -- "${cur}") )
+        elif [[ $cur = /* ]]; then
+                # Append /dev/ to the list of completions, so that
+                # after typing /<TAB><TAB> the user sees /dev/ as one
+                # of the alternatives. Later on the rule above will
+                # take care of showing device files in /dev/.
+                mapfile -t field_vals < <(journalctl -F "_EXE" 2>/dev/null; echo '/dev/')
+                COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "${cur}") )
+                if [[ "${COMPREPLY[@]}" = '/dev/' ]]; then
+                    compopt -o filenames
+                    COMPREPLY=( $(compgen -f -- "${cur}") )
+                fi
         elif [[ $prev = '=' ]]; then
                 mapfile -t field_vals < <(journalctl -F "${COMP_WORDS[COMP_CWORD-2]}" 2>/dev/null)
                 COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "$cur") )