diff --git a/clean_files.txt b/clean_files.txt index ad8b93f5..d5d0b038 100644 --- a/clean_files.txt +++ b/clean_files.txt @@ -84,6 +84,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 new file mode 100644 index 00000000..ffbdd3c8 --- /dev/null +++ b/completion/available/ngrok.completion.bash @@ -0,0 +1,45 @@ +# shellcheck shell=bash + +__ngrok_completion() { + local prev=$(_get_pword) + local curr=$(_get_cword) + + local BASE_NO_CONF="--log --log-format --log-level --help" + 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")) + ;; + ngrok) + # shellcheck disable=SC2207 + COMPREPLY=($(compgen -W "authtoken credits http start tcp tls update version help" -- "$curr")) + ;; + *) ;; + + esac +} + +complete -F __ngrok_completion ngrok