From: Dave Reisner Date: Sun, 21 Oct 2012 15:12:52 +0000 (-0400) Subject: bash-completion: update journalctl for recently added flags X-Git-Tag: v195~18 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=1d870ac769c70bae86fed63d9c5a1c42d2af9da3;hp=c1c02e07ed87e027a6364c4f4aa2468796ca1c56 bash-completion: update journalctl for recently added flags Fixes a few minor bugs as well with flags which take arguments but for which the values can never be known. --- diff --git a/bash-completion/systemd-bash-completion.sh b/bash-completion/systemd-bash-completion.sh index 82c25a389..833af71b6 100644 --- a/bash-completion/systemd-bash-completion.sh +++ b/bash-completion/systemd-bash-completion.sh @@ -284,10 +284,12 @@ _journalctl() { local field_vals= cur=${COMP_WORDS[COMP_CWORD]} prev=${COMP_WORDS[COMP_CWORD-1]} local -A OPTS=( [STANDALONE]='-a --all -b --this-boot -f --follow --header - -h --help -l --local --new-id128 --no-pager - --no-tail -q --quiet --setup-keys --verify --version' - [ARG]='-D --directory -F --field --interval -n --lines -o --output - -p --priority --verify-key' + -h --help -l --local --new-id128 -m --merge --no-pager + --no-tail -q --quiet --setup-keys --this-boot --verify + --version' + [ARG]='-D --directory -F --field -o --output -u --unit' + [ARGUNKNOWN]='-c --cursor --interval -n --lines -p --priority --since --until + --verify-key' ) local journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC} ERRNO SYSLOG_{FACILITY,IDENTIFIER,PID} @@ -301,10 +303,10 @@ _journalctl() { __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP) - if __contains_word "$prev" ${OPTS[ARG]}; then + if __contains_word "$prev" ${OPTS[ARG]} ${OPTS[ARGUNKNOWN]}; then case $prev in - --directory|-D|--verify-key) - comps=$(compgen -A file -- "$cur") + --directory|-D) + comps=$(compgen -d -- "$cur") compopt -o filenames ;; --output|-o) @@ -313,6 +315,9 @@ _journalctl() { --field|-F) comps=${journal_fields[*]} ;; + --unit|-u) + comps=$(journalctl -F '_SYSTEMD_UNIT') + ;; *) return 0 ;;