diff options
author | kalle (jag) <kalle.jillheden@gmail.com> | 2021-05-03 16:35:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-03 16:35:28 +0200 |
commit | 70ab2928a5ecd2513d4f6a67beb10f79d64d5172 (patch) | |
tree | 86460e8502621429db24b035b4d943f9399c448a /plugins | |
parent | 63a7422d8dd5eb93c849df0ab9e679e6f333818a (diff) | |
download | zsh-70ab2928a5ecd2513d4f6a67beb10f79d64d5172.tar.gz zsh-70ab2928a5ecd2513d4f6a67beb10f79d64d5172.tar.bz2 zsh-70ab2928a5ecd2513d4f6a67beb10f79d64d5172.zip |
feat(plugins): add `gh` plugin for GitHub CLI (#9557)
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/gh/.gitignore | 1 | ||||
-rw-r--r-- | plugins/gh/README.md | 23 | ||||
-rw-r--r-- | plugins/gh/gh.plugin.zsh | 13 |
3 files changed, 37 insertions, 0 deletions
diff --git a/plugins/gh/.gitignore b/plugins/gh/.gitignore new file mode 100644 index 000000000..fa1244ab5 --- /dev/null +++ b/plugins/gh/.gitignore @@ -0,0 +1 @@ +_gh diff --git a/plugins/gh/README.md b/plugins/gh/README.md new file mode 100644 index 000000000..54e046a1c --- /dev/null +++ b/plugins/gh/README.md @@ -0,0 +1,23 @@ +# GitHub CLI plugin + +This plugin adds completion for the [GitHub CLI](https://cli.github.com/). + +To use it, add `gh` to the plugins array in your zshrc file: + +```zsh +plugins=(... gh) +``` + +This plugin does not add any aliases. + +## Cache + +This plugin caches the completion script and is automatically updated when the +plugin is loaded, which is usually when you start up a new terminal emulator. + +The cache is stored at: + +- `$ZSH/plugins/gh/_gh` completions script + +- `$ZSH_CACHE_DIR/gh_version` version of GitHub CLI, used to invalidate + the cache. diff --git a/plugins/gh/gh.plugin.zsh b/plugins/gh/gh.plugin.zsh new file mode 100644 index 000000000..8e055ec35 --- /dev/null +++ b/plugins/gh/gh.plugin.zsh @@ -0,0 +1,13 @@ +# Autocompletion for the GitHub CLI (gh). + +if (( $+commands[gh] )); then + if [[ ! -r "$ZSH_CACHE_DIR/gh_version" \ + || "$(gh --version)" != "$(< "$ZSH_CACHE_DIR/gh_version")" + || ! -f "$ZSH/plugins/gh/_gh" ]]; then + gh completion --shell zsh > $ZSH/plugins/gh/_gh + gh --version > $ZSH_CACHE_DIR/gh_version + fi + autoload -Uz _gh + _comps[gh]=_gh +fi + |