From 4382288aeba14c58d8eab138fba39aeb5edcdbf6 Mon Sep 17 00:00:00 2001 From: Shubham Rajvanshi Date: Tue, 8 Oct 2024 13:25:20 -0500 Subject: [PATCH] feat(k9s): add completion plugin for `k9s` (#12691) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Marc Cornellà --- plugins/k9s/README.md | 9 +++++++++ plugins/k9s/k9s.plugin.zsh | 14 ++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 plugins/k9s/README.md create mode 100644 plugins/k9s/k9s.plugin.zsh diff --git a/plugins/k9s/README.md b/plugins/k9s/README.md new file mode 100644 index 000000000..275048cdb --- /dev/null +++ b/plugins/k9s/README.md @@ -0,0 +1,9 @@ +# k9s plugin + +This plugin adds completion support for the [k9s](https://k9scli.io). + +To use it, add `k9s` to the plugins array in your zshrc file: + +```zsh +plugins=(... k9s) +``` diff --git a/plugins/k9s/k9s.plugin.zsh b/plugins/k9s/k9s.plugin.zsh new file mode 100644 index 000000000..630d4f7d3 --- /dev/null +++ b/plugins/k9s/k9s.plugin.zsh @@ -0,0 +1,14 @@ +if (( ! $+commands[k9s] )); then + return +fi + +# If the completion file does not exist, fake it and load it +if [[ ! -f "$ZSH_CACHE_DIR/completions/_k9s" ]]; then + typeset -g -A _comps + autoload -Uz _k9s + _comps[k9s]=_k9s +fi + +# and then generate it in the background. On first completion, +# the actual completion file will be loaded. +k9s completion zsh >| "$ZSH_CACHE_DIR/completions/_k9s" &|