feat(plugins): add `gh` plugin for GitHub CLI (#9557)
parent
63a7422d8d
commit
70ab2928a5
3 changed files with 37 additions and 0 deletions
@ -0,0 +1 @@ |
|||||||
|
_gh |
||||||
@ -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. |
||||||
@ -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 |
||||||
|
|
||||||
Loading…
Reference in new issue