mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2026-09-21 18:46:06 +02:00
feat(gcx): add completion plugin for Grafana's gcx (#13950)
* feat(gcx): add completion plugin * fix(gcx): write completion cache atomically
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# Grafana CLI plugin
|
||||
|
||||
This plugin adds completion for the [Grafana CLI (gcx)](https://github.com/grafana/gcx).
|
||||
|
||||
To use it, add `gcx` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... gcx)
|
||||
```
|
||||
|
||||
This plugin does not add any aliases.
|
||||
|
||||
## Cache
|
||||
|
||||
This plugin caches the completion script and automatically updates it when the
|
||||
plugin is loaded, which is usually when you start a new terminal emulator.
|
||||
|
||||
The cache is stored at `$ZSH_CACHE_DIR/completions/_gcx`.
|
||||
@@ -0,0 +1,18 @@
|
||||
# Autocompletion for the Grafana CLI (gcx).
|
||||
if (( ! $+commands[gcx] )); then
|
||||
return
|
||||
fi
|
||||
|
||||
# If the completion file doesn't exist yet, we need to autoload it and
|
||||
# bind it to `gcx`. Otherwise, compinit will have already done that.
|
||||
if [[ ! -f "$ZSH_CACHE_DIR/completions/_gcx" ]]; then
|
||||
typeset -g -A _comps
|
||||
autoload -Uz _gcx
|
||||
_comps[gcx]=_gcx
|
||||
fi
|
||||
|
||||
zmodload -F zsh/files b:zf_mv
|
||||
() {
|
||||
local TMPPREFIX="$ZSH_CACHE_DIR/completions/_gcx"
|
||||
zf_mv -f -- =( gcx completion zsh ) "$TMPPREFIX"
|
||||
} &|
|
||||
Reference in New Issue
Block a user