[systemd-commits] 2 commits - bash-completion/systemd-bash-completion.sh
Dave Reisner
dreisner at kemper.freedesktop.org
Fri Sep 21 16:28:50 PDT 2012
bash-completion/systemd-bash-completion.sh | 63 ++++++++++++++++++++++++++---
1 file changed, 57 insertions(+), 6 deletions(-)
New commits:
commit cb273c51eaf622b1e92d5ca0656b06073cb02da2
Author: Dave Reisner <dreisner at archlinux.org>
Date: Thu Sep 13 22:54:01 2012 -0400
bash-completion: fix whitespace
Use spaces for indentation instead of tabs.
diff --git a/bash-completion/systemd-bash-completion.sh b/bash-completion/systemd-bash-completion.sh
index 39ef165..db5636b 100644
--- a/bash-completion/systemd-bash-completion.sh
+++ b/bash-completion/systemd-bash-completion.sh
@@ -143,16 +143,16 @@ _systemctl () {
elif __contains_word "$verb" ${VERBS[STARTABLE_UNITS]}; then
comps=$( __filter_units_by_property CanStart yes \
$( __get_inactive_units \
- | while read -r line; do \
- [[ "$line" =~ \.(device|snapshot)$ ]] || printf "%s\n" "$line"; \
- done ))
+ | while read -r line; do \
+ [[ "$line" =~ \.(device|snapshot)$ ]] || printf "%s\n" "$line"; \
+ done ))
elif __contains_word "$verb" ${VERBS[RESTARTABLE_UNITS]}; then
comps=$( __filter_units_by_property CanStart yes \
$( __get_all_units \
- | while read -r line; do \
- [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || printf "%s\n" "$line"; \
- done ))
+ | while read -r line; do \
+ [[ "$line" =~ \.(device|snapshot|socket|timer)$ ]] || printf "%s\n" "$line"; \
+ done ))
elif __contains_word "$verb" ${VERBS[STOPPABLE_UNITS]}; then
comps=$( __filter_units_by_property CanStop yes \
commit 3d3e4405ba65d65976453c567c31ff5350030e43
Author: Dave Reisner <dreisner at archlinux.org>
Date: Thu Sep 13 22:49:42 2012 -0400
bash-completion: add rumidentary support for journalctl
diff --git a/bash-completion/systemd-bash-completion.sh b/bash-completion/systemd-bash-completion.sh
index fc2dda5..39ef165 100644
--- a/bash-completion/systemd-bash-completion.sh
+++ b/bash-completion/systemd-bash-completion.sh
@@ -279,3 +279,54 @@ _loginctl () {
return 0
}
complete -F _loginctl loginctl
+
+_journalctl() {
+ local 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 --interval -n --lines -o --output
+ -p --priority --verify-key'
+ )
+ local journal_fields=(MESSAGE{,_ID} PRIORITY CODE_{FILE,LINE,FUNC}
+ ERRNO SYSLOG_{FACILITY,IDENTIFIER,PID}
+ _{P,U,G}ID _COMM _EXE _CMDLINE
+ _AUDIT_{SESSION,LOGINUID}
+ _SYSTEMD_{CGROUP,SESSION,UNIT,OWNER_UID}
+ _SELINUX_CONTEXT _SOURCE_REALTIME_TIMESTAMP
+ _{BOOT,MACHINE}_ID _HOSTNAME _TRANSPORT
+ _KERNEL_{DEVICE,SUBSYSTEM}
+ _UDEV_{SYSNAME,DEVNODE,DEVLINK}
+ __CURSOR __{REALTIME,MONOTONIC}_TIMESTAMP)
+
+
+ if __contains_word "$prev" ${OPTS[ARG]}; then
+ case $prev in
+ --directory|-D|--verify-key)
+ comps=$(compgen -A file -- "$cur")
+ compopt -o filenames
+ ;;
+ --output|-o)
+ comps='short short-monotonic verbose export json cat'
+ ;;
+ *)
+ return 0
+ ;;
+ esac
+ COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
+ return 0
+ fi
+
+ if [[ $cur = -* ]]; then
+ COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
+ return 0
+ else
+ # append an '=' to the end of the completed field
+ # TODO: would be nice to be able to tell readline here not to
+ # append an extra space after the completed word, if such an
+ # option exists.
+ COMPREPLY=( $(compgen -W '${journal_fields[*]/%/=}' -- "$cur") )
+ fi
+}
+complete -F _journalctl journalctl
More information about the systemd-commits
mailing list