From a72a26406ad3aa9a47c3f5227291bad23494bed0 Mon Sep 17 00:00:00 2001 From: Alexander Schaber Date: Fri, 27 Sep 2024 13:58:56 +0200 Subject: [PATCH] feat(chezmoi): add completion plugin (#12696) --- 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" &|