feat(plugins): add gh plugin for GitHub CLI (#9557)

This commit is contained in:
kalle (jag) 2021-05-03 16:35:28 +02:00 committed by GitHub
parent 63a7422d8d
commit 70ab2928a5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 37 additions and 0 deletions

1
plugins/gh/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
_gh

23
plugins/gh/README.md Normal file
View File

@ -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.

13
plugins/gh/gh.plugin.zsh Normal file
View File

@ -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