summaryrefslogtreecommitdiff
path: root/plugins/cargo/cargo.plugin.zsh
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/cargo/cargo.plugin.zsh')
-rw-r--r--plugins/cargo/cargo.plugin.zsh11
1 files changed, 11 insertions, 0 deletions
diff --git a/plugins/cargo/cargo.plugin.zsh b/plugins/cargo/cargo.plugin.zsh
new file mode 100644
index 000000000..92eae5359
--- /dev/null
+++ b/plugins/cargo/cargo.plugin.zsh
@@ -0,0 +1,11 @@
+# COMPLETION FUNCTION
+if (( $+commands[rustup] && $+commands[cargo] )); then
+ if [[ ! -f $ZSH_CACHE_DIR/cargo_version ]] \
+ || [[ "$(cargo --version)" != "$(< "$ZSH_CACHE_DIR/cargo_version")" ]] \
+ || [[ ! -f $ZSH/plugins/cargo/_cargo ]]; then
+ rustup completions zsh cargo > $ZSH/plugins/cargo/_cargo
+ cargo --version > $ZSH_CACHE_DIR/cargo_version
+ fi
+ autoload -Uz _cargo
+ _comps[cargo]=_cargo
+fi