summaryrefslogtreecommitdiff
path: root/plugins/cargo/cargo.plugin.zsh
diff options
context:
space:
mode:
authorCarlo Sala <carlosalag@protonmail.com>2021-09-07 20:02:20 +0200
committerGitHub <noreply@github.com>2021-09-07 20:02:20 +0200
commit450acc0113b114352ce3b94870fe63fc461844bd (patch)
tree8f93d5445a5cd4d0a29f051a6f8047e66ab4f3c0 /plugins/cargo/cargo.plugin.zsh
parent37a60eebc107c08047d4b5716c1c1760104aa25d (diff)
downloadzsh-450acc0113b114352ce3b94870fe63fc461844bd.tar.gz
zsh-450acc0113b114352ce3b94870fe63fc461844bd.tar.bz2
zsh-450acc0113b114352ce3b94870fe63fc461844bd.zip
fix: automatically create completion for `cargo` and `rustup` plugins (#10087)
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