8f0e296dbf27026ea0515ebae0d3cc41f236ecdc

Author
Carlo Sala <carlosalag@protonmail.com>
Committer
Carlo Sala <carlosalag@protonmail.com>
Date

Message

feat(nsc): add completion plugin

Diff

 1diff --git a/plugins/nsc/README.md b/plugins/nsc/README.md
 2new file mode 100644
 3index 0000000000000000000000000000000000000000..ce0d2c15cc97ef23bb63a49b5d923c85ddcefa63
 4--- /dev/null
 5+++ b/plugins/nsc/README.md
 6@@ -0,0 +1,11 @@
 7+# NSC plugin
 8+
 9+This plugin adds completion for the [NSC](https://github.com/nats-io/nsc).
10+
11+To use it, add `nsc` to the plugins array in your zshrc file:
12+
13+```zsh
14+plugins=(... nsc)
15+```
16+
17+This plugin does not add any aliases.
18diff --git a/plugins/nsc/nsc.plugin.zsh b/plugins/nsc/nsc.plugin.zsh
19new file mode 100644
20index 0000000000000000000000000000000000000000..daa599e8f7b157869c40591ab7a1d83b3e300bf9
21--- /dev/null
22+++ b/plugins/nsc/nsc.plugin.zsh
23@@ -0,0 +1,13 @@
24+if (( ! $+commands[nsc] )); then
25+  return
26+fi
27+
28+# If the completion file doesn't exist yet, we need to autoload it and
29+# bind it to `nsc`. Otherwise, compinit will have already done that.
30+if [[ ! -f "$ZSH_CACHE_DIR/completions/_nsc" ]]; then
31+  typeset -g -A _comps
32+  autoload -Uz _nsc
33+  _comps[nsc]=_nsc
34+fi
35+
36+nsc completion zsh >| "$ZSH_CACHE_DIR/completions/_nsc" &|