From 0dd17959075e9ffe1e851c75fcc6a162d225feea Mon Sep 17 00:00:00 2001 From: Dave Reisner Date: Sat, 20 Oct 2012 18:36:06 -0400 Subject: bash-completion: avoid appending space after field competion Resolves the TODO, and also uses compgen's -S flag to append the trailing equals, rather than relying on an array-wide parameter expansion. Suggested-by: Ran Benita --- bash-completion/systemd-bash-completion.sh | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'bash-completion') diff --git a/bash-completion/systemd-bash-completion.sh b/bash-completion/systemd-bash-completion.sh index a03433269c..82c25a3894 100644 --- a/bash-completion/systemd-bash-completion.sh +++ b/bash-completion/systemd-bash-completion.sh @@ -331,11 +331,8 @@ _journalctl() { mapfile -t field_vals < <(journalctl -F "${COMP_WORDS[COMP_CWORD-2]}" 2>/dev/null) COMPREPLY=( $(compgen -W '${field_vals[*]}' -- "$cur") ) 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") ) + compopt -o nospace + COMPREPLY=( $(compgen -W '${journal_fields[*]}' -S= -- "$cur") ) fi } complete -F _journalctl journalctl -- cgit v1.2.3-54-g00ecf