From aefa5e8edc2d80c9da5d6960032bc122fcb96abb Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Thu, 23 Feb 2017 04:39:06 +0100 Subject: [PATCH] wg: fix bash completion spaces Signed-off-by: Jason A. Donenfeld --- src/completion/wg-quick.bash-completion | 10 +++++++--- src/completion/wg.bash-completion | 8 ++++++-- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/completion/wg-quick.bash-completion b/src/completion/wg-quick.bash-completion index cf3e9a0..e0bdf9f 100644 --- a/src/completion/wg-quick.bash-completion +++ b/src/completion/wg-quick.bash-completion @@ -1,7 +1,7 @@ # Copyright (C) 2017 Jason A. Donenfeld . All Rights Reserved. _wg_quick_completion() { - local i + local i a if [[ $COMP_CWORD -eq 1 ]]; then COMPREPLY+=( $(compgen -W "up down" -- "${COMP_WORDS[1]}") ) return @@ -10,10 +10,14 @@ _wg_quick_completion() { shopt -s nullglob for i in /etc/wireguard/*.conf; do i="${i##*/}"; i="${i%.conf}" - COMPREPLY+=( $(compgen -W "$i" -- "${COMP_WORDS[2]}") ) + mapfile -t a < <(compgen -W "$i" -- "${COMP_WORDS[2]}") + COMPREPLY+=( "${a[@]}" ) done eval "$old_glob" - COMPREPLY+=( $(compgen -f -X '!*.conf' -- "${COMP_WORDS[2]}") $(compgen -d -- "${COMP_WORDS[2]}") ) + mapfile -t a < <(compgen -f -X '!*.conf' -- "${COMP_WORDS[2]}") + COMPREPLY+=( "${a[@]}" ) + mapfile -t a < <(compgen -d -- "${COMP_WORDS[2]}") + COMPREPLY+=( "${a[@]}" ) fi } diff --git a/src/completion/wg.bash-completion b/src/completion/wg.bash-completion index 1a2e059..355012c 100644 --- a/src/completion/wg.bash-completion +++ b/src/completion/wg.bash-completion @@ -1,6 +1,8 @@ # Copyright (C) 2017 Jason A. Donenfeld . All Rights Reserved. _wg_completion() { + local a + if [[ $COMP_CWORD -eq 1 ]]; then COMPREPLY+=( $(compgen -W "show showconf set setconf addconf genkey genpsk pubkey" -- "${COMP_WORDS[1]}") ) return @@ -25,7 +27,8 @@ _wg_completion() { if [[ $COMP_CWORD -eq 3 && ( ${COMP_WORDS[1]} == setconf || ${COMP_WORDS[1]} == addconf ) ]]; then compopt -o filenames - COMPREPLY+=( $(compgen -f -- "${COMP_WORDS[3]}") ) + mapfile -t a < <(compgen -f -- "${COMP_WORDS[3]}") + COMPREPLY+=( "${a[@]}" ) return fi @@ -49,7 +52,8 @@ _wg_completion() { COMPREPLY+=( $(compgen -W "${words[*]}" -- "${COMP_WORDS[COMP_CWORD]}") ) elif [[ ${COMP_WORDS[COMP_CWORD-1]} == *-key ]]; then compopt -o filenames - COMPREPLY+=( $(compgen -f -- "${COMP_WORDS[COMP_CWORD]}") ) + mapfile -t a < <(compgen -f -- "${COMP_WORDS[COMP_CWORD]}") + COMPREPLY+=( "${a[@]}" ) fi return fi