# Copyright (C) 2017 Jason A. Donenfeld <Jason@zx2c4.com>. 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
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
}
# Copyright (C) 2017 Jason A. Donenfeld <Jason@zx2c4.com>. 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
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
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