432596e9918dd0fea65af8c1788a54130a4fca6e

Author
Alessio Perugini <alessio@perugini.xyz>
Committer
GitHub <noreply@github.com>
Date

Message

feat(arduino-cli): add completion plugin (#12522)

Diff

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