From 8de2ff3524441da8fcc234d1a5c0d68dfde1d7e5 Mon Sep 17 00:00:00 2001 From: Alexander Schaber Date: Wed, 25 Sep 2024 15:01:11 +0200 Subject: [PATCH] feat(chezmoi): set up autocomplete --- plugins/chezmoi/README.md | 11 +++++++++++ plugins/chezmoi/chezmoi.plugin.zsh | 14 ++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 plugins/chezmoi/README.md create mode 100644 plugins/chezmoi/chezmoi.plugin.zsh diff --git a/plugins/chezmoi/README.md b/plugins/chezmoi/README.md new file mode 100644 index 000000000..32aee73b2 --- /dev/null +++ b/plugins/chezmoi/README.md @@ -0,0 +1,11 @@ +# chezmoi Plugin + +## Introduction + +This `chezmoi` plugin sets up completion for [chezmoi](https://chezmoi.io). + +To use it, add `chezmoi` to the plugins array of your zshrc file: + +```bash +plugins=(... chezmoi) +``` diff --git a/plugins/chezmoi/chezmoi.plugin.zsh b/plugins/chezmoi/chezmoi.plugin.zsh new file mode 100644 index 000000000..80e19fea1 --- /dev/null +++ b/plugins/chezmoi/chezmoi.plugin.zsh @@ -0,0 +1,14 @@ +# COMPLETION FUNCTION +if (( ! $+commands[chezmoi] )); then + return +fi + +# If the completion file doesn't exist yet, we need to autoload it and +# bind it to `chezmoi`. Otherwise, compinit will have already done that. +if [[ ! -f "$ZSH_CACHE_DIR/completions/_chezmoi" ]]; then + typeset -g -A _comps + autoload -Uz _chezmoi + _comps[chezmoi]=_chezmoi +fi + +chezmoi completion zsh >| "$ZSH_CACHE_DIR/completions/_chezmoi" &|