diff --git a/plugins/ngrok/README.md b/plugins/ngrok/README.md new file mode 100644 index 000000000..6c37b1905 --- /dev/null +++ b/plugins/ngrok/README.md @@ -0,0 +1,20 @@ +# ngrok plugin + +This plugin adds completion for the [ngrok](https://ngrok.com) CLI. + +To use it, add `ngrok` to the plugins array in your zshrc file: + +```zsh +plugins=(... ngrok) +``` + +This plugin does not add any aliases. + +## Cache + +This plugin caches the completion script and is automatically updated asynchronously when the plugin is +loaded, which is usually when you start up a new terminal emulator. + +The cache is stored at: + +- `$ZSH_CACHE/completions/_ngrok` completions script diff --git a/plugins/ngrok/ngrok.plugin.zsh b/plugins/ngrok/ngrok.plugin.zsh new file mode 100644 index 000000000..ca3c82db0 --- /dev/null +++ b/plugins/ngrok/ngrok.plugin.zsh @@ -0,0 +1,14 @@ +# Autocompletion for ngrok +if (( ! $+commands[ngrok] )); then + return +fi + +# If the completion file doesn't exist yet, we need to autoload it and +# bind it to `ngrok`. Otherwise, compinit will have already done that. +if [[ ! -f "$ZSH_CACHE_DIR/completions/_ngrok" ]]; then + typeset -g -A _comps + autoload -Uz _ngrok + _comps[ngrok]=_ngrok +fi + +ngrok completion zsh >| "$ZSH_CACHE_DIR/completions/_ngrok" &|