mirror of
https://github.com/robbyrussell/oh-my-zsh.git
synced 2026-09-28 14:06:12 +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