From b6aeb731093cbae7d1fa6dbd3f19ba550c9fef36 Mon Sep 17 00:00:00 2001 From: Jonathan Stacks Date: Mon, 20 Apr 2026 20:49:39 -0500 Subject: [PATCH] feat(sprite): Add completions for sprite sprite is the CLI tool for https://docs.sprites.dev Signed-off-by: Jonathan Stacks --- plugins/sprite/README.md | 20 ++++++++++++++++++++ plugins/sprite/sprite.plugin.zsh | 14 ++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 plugins/sprite/README.md create mode 100644 plugins/sprite/sprite.plugin.zsh diff --git a/plugins/sprite/README.md b/plugins/sprite/README.md new file mode 100644 index 000000000..48520f882 --- /dev/null +++ b/plugins/sprite/README.md @@ -0,0 +1,20 @@ +# sprite plugin + +This plugin adds completion for the [Sprites CLI](https://docs.sprites.dev/cli/installation) (`sprite`). + +To use it, add `sprite` to the plugins array in your zshrc file: + +```zsh +plugins=(... sprite) +``` + +This plugin does not add any aliases. + +## Cache + +This plugin caches the completion script and is automatically updated asynchronously when the plugin is +loaded, which is usually when you start up a new terminal emulator. + +The cache is stored at: + +- `$ZSH_CACHE_DIR/completions/_sprite` completions script diff --git a/plugins/sprite/sprite.plugin.zsh b/plugins/sprite/sprite.plugin.zsh new file mode 100644 index 000000000..ff97be67c --- /dev/null +++ b/plugins/sprite/sprite.plugin.zsh @@ -0,0 +1,14 @@ +# Autocompletion for sprite +if (( ! $+commands[sprite] )); then + return +fi + +# If the completion file doesn't exist yet, we need to autoload it and +# bind it to `sprite`. Otherwise, compinit will have already done that. +if [[ ! -f "$ZSH_CACHE_DIR/completions/_sprite" ]]; then + typeset -g -A _comps + autoload -Uz _sprite + _comps[sprite]=_sprite +fi + +sprite completion zsh >| "$ZSH_CACHE_DIR/completions/_sprite" &|