From 7f8380c38ab32b6803492da97c3d3e6e11f836b6 Mon Sep 17 00:00:00 2001 From: dadav <33197631+dadav@users.noreply.github.com> Date: Sat, 18 Apr 2020 12:26:21 +0200 Subject: [PATCH] switch to static --- .../bash_completion.d/pwnagotchi_completion.sh | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/builder/data/etc/bash_completion.d/pwnagotchi_completion.sh b/builder/data/etc/bash_completion.d/pwnagotchi_completion.sh index c919281d..a2ea3347 100644 --- a/builder/data/etc/bash_completion.d/pwnagotchi_completion.sh +++ b/builder/data/etc/bash_completion.d/pwnagotchi_completion.sh @@ -1,16 +1,28 @@ _show_complete() { - local cur prev opts node_names + local cur opts node_names all_options opt_line + all_options=" +pwnagotchi -h --help -C --config -U --user-config --manual --skip-session --clear --debug --version --print-config {plugins} +pwnagotchi plugins -h --help {list,install,enable,disable,uninstall,update,upgrade} +pwnagotchi plugins list -i -h --help +pwnagotchi plugins install -h --help +pwnagotchi plugins uninstall -h --help +pwnagotchi plugins enable -h --help +pwnagotchi plugins disable -h --help +pwnagotchi plugins update -h --help +pwnagotchi plugins upgrade -h --help +" COMPREPLY=() cur="${COMP_WORDS[COMP_CWORD]}" cmd="${COMP_WORDS[@]:0:${#COMP_WORDS[@]}-1}" + opt_line="$(grep -m1 "$cmd" <<<$all_options)" if [[ ${cur} == -* ]] ; then - opts="$($cmd --help | tr ' ' '\n' | awk '/^ *-/{gsub("[^a-zA-Z0-9-]","",$1);print $1}')" + opts="$(echo $opt_line | tr ' ' '\n' | awk '/^ *-/{gsub("[^a-zA-Z0-9-]","",$1);print $1}')" COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) return 0 fi - opts="$($cmd --help | sed -n '/positional arguments:/ {n;p}' | tr ',' '\n' | awk '{gsub("[^a-zA-Z0-9-]", "", $1); print $1}')" + opts="$(echo $opt_line | grep -Po '{\K[^}]+' | tr ',' '\n')" COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) ) }