From d42a1206f96c082599897aa920f0d46415fe8f92 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Thu, 11 Mar 2021 17:18:33 +0530 Subject: [PATCH 1/5] completion (feature): implemented ngrok --- completion/available/ngrok.completion.bash | 45 ++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 completion/available/ngrok.completion.bash diff --git a/completion/available/ngrok.completion.bash b/completion/available/ngrok.completion.bash new file mode 100644 index 00000000..505b5590 --- /dev/null +++ b/completion/available/ngrok.completion.bash @@ -0,0 +1,45 @@ +# shellcheck shell=bash + +if _binary_exists ngrok; then + __ngrok_completion() { + local prev=$(_get_pword) + local curr=$(_get_cword) + + local BASE_NO_CONF="--log --log-format --log-level" + local BASE="--config $BASE_NO_CONF" + local DEFAULT="$BASE --authtoken --region" + + case $prev in + authtoken) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$BASE" -- "$curr")) + ;; + http) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --auth --bind-tls --host-header --hostname --inspect --subdomain" -- "$curr")) + ;; + start) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --all --none" -- "$curr")) + ;; + tcp) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --remote-addr" -- "$curr")) + ;; + tls) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --client-cas --crt --hostname --key --subdomain" -- "$curr")) + ;; + update) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$BASE_NO_CONF --channel" -- "$curr")) + ;; + *) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "authtoken credits http start tcp tls update version help" -- "$curr")) + ;; + esac + } + + complete -F __ngrok_completion ngrok +fi From ab011cd9badf2b1185f63a9fa8ee7cab5eb50aa6 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Thu, 11 Mar 2021 17:21:19 +0530 Subject: [PATCH 2/5] completion (improvement): fixed linting --- clean_files.txt | 1 + completion/available/ngrok.completion.bash | 76 +++++++++++----------- 2 files changed, 39 insertions(+), 38 deletions(-) diff --git a/clean_files.txt b/clean_files.txt index 5cececcf..f636446a 100644 --- a/clean_files.txt +++ b/clean_files.txt @@ -83,6 +83,7 @@ completion/available/kubectl.completion.bash completion/available/lerna.completion.bash completion/available/minikube.completion.bash completion/available/notify-send.completion.bash +completion/available/ngrok.completion.bash completion/available/npm.completion.bash completion/available/packer.completion.bash completion/available/pip.completion.bash diff --git a/completion/available/ngrok.completion.bash b/completion/available/ngrok.completion.bash index 505b5590..cc08b9aa 100644 --- a/completion/available/ngrok.completion.bash +++ b/completion/available/ngrok.completion.bash @@ -1,45 +1,45 @@ # shellcheck shell=bash if _binary_exists ngrok; then - __ngrok_completion() { - local prev=$(_get_pword) - local curr=$(_get_cword) + __ngrok_completion() { + local prev=$(_get_pword) + local curr=$(_get_cword) - local BASE_NO_CONF="--log --log-format --log-level" - local BASE="--config $BASE_NO_CONF" - local DEFAULT="$BASE --authtoken --region" + local BASE_NO_CONF="--log --log-format --log-level" + local BASE="--config $BASE_NO_CONF" + local DEFAULT="$BASE --authtoken --region" - case $prev in - authtoken) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$BASE" -- "$curr")) - ;; - http) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$DEFAULT --auth --bind-tls --host-header --hostname --inspect --subdomain" -- "$curr")) - ;; - start) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$DEFAULT --all --none" -- "$curr")) - ;; - tcp) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$DEFAULT --remote-addr" -- "$curr")) - ;; - tls) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$DEFAULT --client-cas --crt --hostname --key --subdomain" -- "$curr")) - ;; - update) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$BASE_NO_CONF --channel" -- "$curr")) - ;; - *) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "authtoken credits http start tcp tls update version help" -- "$curr")) - ;; - esac - } + case $prev in + authtoken) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$BASE" -- "$curr")) + ;; + http) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --auth --bind-tls --host-header --hostname --inspect --subdomain" -- "$curr")) + ;; + start) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --all --none" -- "$curr")) + ;; + tcp) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --remote-addr" -- "$curr")) + ;; + tls) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --client-cas --crt --hostname --key --subdomain" -- "$curr")) + ;; + update) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$BASE_NO_CONF --channel" -- "$curr")) + ;; + *) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "authtoken credits http start tcp tls update version help" -- "$curr")) + ;; + esac + } - complete -F __ngrok_completion ngrok + complete -F __ngrok_completion ngrok fi From 035fc920adc46ee524652bf3e501c1ad96c8f6e4 Mon Sep 17 00:00:00 2001 From: Gurkirat Singh Date: Fri, 12 Mar 2021 13:59:14 +0530 Subject: [PATCH 3/5] completion (improvement): remove if statement --- completion/available/ngrok.completion.bash | 78 +++++++++++----------- 1 file changed, 38 insertions(+), 40 deletions(-) diff --git a/completion/available/ngrok.completion.bash b/completion/available/ngrok.completion.bash index cc08b9aa..64789b72 100644 --- a/completion/available/ngrok.completion.bash +++ b/completion/available/ngrok.completion.bash @@ -1,45 +1,43 @@ # shellcheck shell=bash -if _binary_exists ngrok; then - __ngrok_completion() { - local prev=$(_get_pword) - local curr=$(_get_cword) +__ngrok_completion() { + local prev=$(_get_pword) + local curr=$(_get_cword) - local BASE_NO_CONF="--log --log-format --log-level" - local BASE="--config $BASE_NO_CONF" - local DEFAULT="$BASE --authtoken --region" + local BASE_NO_CONF="--log --log-format --log-level" + local BASE="--config $BASE_NO_CONF" + local DEFAULT="$BASE --authtoken --region" - case $prev in - authtoken) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$BASE" -- "$curr")) - ;; - http) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$DEFAULT --auth --bind-tls --host-header --hostname --inspect --subdomain" -- "$curr")) - ;; - start) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$DEFAULT --all --none" -- "$curr")) - ;; - tcp) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$DEFAULT --remote-addr" -- "$curr")) - ;; - tls) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$DEFAULT --client-cas --crt --hostname --key --subdomain" -- "$curr")) - ;; - update) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "$BASE_NO_CONF --channel" -- "$curr")) - ;; - *) - # shellcheck disable=SC2207 - COMPREPLY=($(compgen -W "authtoken credits http start tcp tls update version help" -- "$curr")) - ;; - esac - } + case $prev in + authtoken) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$BASE" -- "$curr")) + ;; + http) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --auth --bind-tls --host-header --hostname --inspect --subdomain" -- "$curr")) + ;; + start) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --all --none" -- "$curr")) + ;; + tcp) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --remote-addr" -- "$curr")) + ;; + tls) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$DEFAULT --client-cas --crt --hostname --key --subdomain" -- "$curr")) + ;; + update) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "$BASE_NO_CONF --channel" -- "$curr")) + ;; + *) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "authtoken credits http start tcp tls update version help" -- "$curr")) + ;; + esac +} - complete -F __ngrok_completion ngrok -fi +complete -F __ngrok_completion ngrok From 1dfaf36d91cbc3490f1998cbf18b1b20ccf9950c Mon Sep 17 00:00:00 2001 From: Noah Gorny Date: Mon, 15 Mar 2021 23:08:01 +0200 Subject: [PATCH 4/5] completion: ngrok: Only complete the list in case prev is ngrok --- completion/available/ngrok.completion.bash | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/completion/available/ngrok.completion.bash b/completion/available/ngrok.completion.bash index 64789b72..35a7797b 100644 --- a/completion/available/ngrok.completion.bash +++ b/completion/available/ngrok.completion.bash @@ -33,10 +33,12 @@ __ngrok_completion() { # shellcheck disable=SC2207 COMPREPLY=($(compgen -W "$BASE_NO_CONF --channel" -- "$curr")) ;; - *) + ngrok) # shellcheck disable=SC2207 COMPREPLY=($(compgen -W "authtoken credits http start tcp tls update version help" -- "$curr")) ;; + *) ;; + esac } From 0239ab8c31028ce24a0d05697f5ee890b5e7fe8f Mon Sep 17 00:00:00 2001 From: Noah Gorny Date: Thu, 1 Apr 2021 00:37:38 +0300 Subject: [PATCH 5/5] completion: ngrok: Add --help option --- completion/available/ngrok.completion.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/completion/available/ngrok.completion.bash b/completion/available/ngrok.completion.bash index 35a7797b..ffbdd3c8 100644 --- a/completion/available/ngrok.completion.bash +++ b/completion/available/ngrok.completion.bash @@ -4,7 +4,7 @@ __ngrok_completion() { local prev=$(_get_pword) local curr=$(_get_cword) - local BASE_NO_CONF="--log --log-format --log-level" + local BASE_NO_CONF="--log --log-format --log-level --help" local BASE="--config $BASE_NO_CONF" local DEFAULT="$BASE --authtoken --region"