summaryrefslogtreecommitdiffstatshomepage
path: root/src/completion
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2017-01-02 05:33:43 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2017-01-05 02:30:20 +0100
commite975597e72a00be8680fdc783fcc8498b114aed4 (patch)
treeebdbaa0ea328e3b103ea3fca2ac2ae928bedc97c /src/completion
parentwg: add bash completion for wg(8) (diff)
downloadwireguard-tools-e975597e72a00be8680fdc783fcc8498b114aed4.tar.xz
wireguard-tools-e975597e72a00be8680fdc783fcc8498b114aed4.zip
wg: add wg-quick
This is based on wg-config, but is even easier to use, and now makes our full tools suite. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'src/completion')
-rw-r--r--src/completion/wg-quick.bash-completion20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/completion/wg-quick.bash-completion b/src/completion/wg-quick.bash-completion
new file mode 100644
index 0000000..cf3e9a0
--- /dev/null
+++ b/src/completion/wg-quick.bash-completion
@@ -0,0 +1,20 @@
+# Copyright (C) 2017 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
+
+_wg_quick_completion() {
+ local i
+ if [[ $COMP_CWORD -eq 1 ]]; then
+ COMPREPLY+=( $(compgen -W "up down" -- "${COMP_WORDS[1]}") )
+ return
+ elif [[ $COMP_CWORD -eq 2 ]]; then
+ local old_glob="$(shopt -p nullglob)"
+ shopt -s nullglob
+ for i in /etc/wireguard/*.conf; do
+ i="${i##*/}"; i="${i%.conf}"
+ COMPREPLY+=( $(compgen -W "$i" -- "${COMP_WORDS[2]}") )
+ done
+ eval "$old_glob"
+ COMPREPLY+=( $(compgen -f -X '!*.conf' -- "${COMP_WORDS[2]}") $(compgen -d -- "${COMP_WORDS[2]}") )
+ fi
+}
+
+complete -o filenames -o nosort -F _wg_quick_completion wg-quick