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'
)
[JOBS]='cancel'
[SNAPSHOTS]='delete'
[ENVS]='set-environment unset-environment'
- [STANDALONE]='daemon-reexec daemon-reload default dot dump
+ [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'
-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'
)
--unit|-u)
comps=$(journalctl -F '_SYSTEMD_UNIT')
;;
+ --user-unit)
+ comps=$(journalctl -F '_SYSTEMD_USER_UNIT')
+ ;;
*)
return 0
;;
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") )