24959d58176edd32acb6db45240b3b178a1c9887

Author
Kaspar V. <casaper@users.noreply.github.com>
Committer
GitHub <noreply@github.com>
Date

Message

feat(pass-cli): add completions plugin (#13740)

Diff

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