7bbebcd520a113eb82e869aecca8f5c825540700

Author
nervo <nervo@nervo.net>
Committer
GitHub <noreply@github.com>
Date

Message

feat(rclone): create completion plugin (#12754)

Diff

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