feat(sigstore): add completion plugin
Closes #10862 Signed-off-by: Marco Franssen <marco.franssen@gmail.com> Co-authored-by: Carlo Sala <carlosalag@protonmail.com>
This commit is contained in:
parent
1f30c1a079
commit
9f77cb29d7
13
plugins/sigstore/README.md
Normal file
13
plugins/sigstore/README.md
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Sigstore plugin
|
||||
|
||||
This plugin sets up completion for the following [Sigstore](https://sigstore.dev/) CLI tools.
|
||||
|
||||
- [Cosign](https://docs.sigstore.dev/cosign/overview)
|
||||
- [Sget](https://docs.sigstore.dev/cosign/installation#alpine-linux)
|
||||
- [Rekor](https://docs.sigstore.dev/rekor/overview)
|
||||
|
||||
To use it, add `sigstore` to the plugins array in your zshrc file:
|
||||
|
||||
```zsh
|
||||
plugins=(... sigstore)
|
||||
```
|
22
plugins/sigstore/sigstore.plugin.zsh
Normal file
22
plugins/sigstore/sigstore.plugin.zsh
Normal file
|
@ -0,0 +1,22 @@
|
|||
function install_autocompletion {
|
||||
if (( ! $+commands[$1] )); then
|
||||
return
|
||||
fi
|
||||
|
||||
# If the completion file doesn't exist yet, we need to autoload it and
|
||||
# bind it to `$1` (cosign, sget, rekor-cli). Otherwise, compinit will
|
||||
# have already done that
|
||||
if [[ ! -f "$ZSH_CACHE_DIR/completions/_$1" ]]; then
|
||||
autoload -Uz _$1
|
||||
typeset -g -A _comps
|
||||
_comps[$1]=_$1
|
||||
fi
|
||||
|
||||
$1 completion zsh >| "$ZSH_CACHE_DIR/completions/_$1" &|
|
||||
}
|
||||
|
||||
install_autocompletion cosign
|
||||
install_autocompletion sget
|
||||
install_autocompletion rekor-cli
|
||||
|
||||
unfunction install_autocompletion
|
Loading…
Reference in a new issue