d2269180b074263f4a0d3df3f9de15a1abae8110

Author
Marc Cornellà <hello@mcornella.com>
Committer
Marc Cornellà <hello@mcornella.com>
Date

Message

fix(core): move plugin-generated completion files to `$ZSH_CACHE_DIR/completions`

Fixes #10183

Diff

 1diff --git a/oh-my-zsh.sh b/oh-my-zsh.sh
 2index 16e244be5bb963d6c02c7e2c27772cbc514a3677..442972a9a9fefad09a8de9465f1f6ba66e4f2f5c 100644
 3--- a/oh-my-zsh.sh
 4+++ b/oh-my-zsh.sh
 5@@ -7,6 +7,10 @@ if [[ -z "$ZSH_CACHE_DIR" ]]; then
 6   ZSH_CACHE_DIR="$ZSH/cache"
 7 fi
 8 
 9+# Create completions cache dir and add to $fpath
10+mkdir -p "$ZSH_CACHE_DIR/completions"
11+(( ${fpath[(Ie)$ZSH_CACHE_DIR/completions]} )) || fpath=("$ZSH_CACHE_DIR/completions" $fpath)
12+
13 # Check for updates on initial load...
14 if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then
15   source $ZSH/tools/check_for_upgrade.sh
16diff --git a/plugins/cargo/cargo.plugin.zsh b/plugins/cargo/cargo.plugin.zsh
17index b636d492fd0c59670a8d307427f09c74b1f56f0b..95e63dd3c142bd4123620a1d816589cefa82f64f 100644
18--- a/plugins/cargo/cargo.plugin.zsh
19+++ b/plugins/cargo/cargo.plugin.zsh
20@@ -1,7 +1,10 @@
21 if (( $+commands[rustup] && $+commands[cargo] )); then
22   ver="$(cargo --version)"
23   ver_file="$ZSH_CACHE_DIR/cargo_version"
24-  comp_file="$ZSH/plugins/cargo/_cargo"
25+  comp_file="$ZSH_CACHE_DIR/completions/_cargo"
26+
27+  mkdir -p "${comp_file:h}"
28+  (( ${fpath[(Ie)${comp_file:h}]} )) || fpath=("${comp_file:h}" $fpath)
29 
30   if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
31     rustup completions zsh cargo >| "$comp_file"
32diff --git a/plugins/deno/deno.plugin.zsh b/plugins/deno/deno.plugin.zsh
33index 71749f4a0e04e4180901d74e94516dda7c5c806b..e22c4e4c8621649ef859832f9f710f57e4c84e42 100644
34--- a/plugins/deno/deno.plugin.zsh
35+++ b/plugins/deno/deno.plugin.zsh
36@@ -14,7 +14,10 @@ alias dup='deno upgrade'
37 if (( $+commands[deno] )); then
38   ver="$(deno --version)"
39   ver_file="$ZSH_CACHE_DIR/deno_version"
40-  comp_file="$ZSH/plugins/deno/_deno"
41+  comp_file="$ZSH_CACHE_DIR/completions/_deno"
42+
43+  mkdir -p "${comp_file:h}"
44+  (( ${fpath[(Ie)${comp_file:h}]} )) || fpath=("${comp_file:h}" $fpath)
45 
46   if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
47     deno completions zsh >| "$comp_file"
48diff --git a/plugins/fnm/fnm.plugin.zsh b/plugins/fnm/fnm.plugin.zsh
49index 29b759abb71aac1fc5406e74188232ea4e234fd3..efb81a6fa658d6961e6ac6b53b955661ca7f863d 100644
50--- a/plugins/fnm/fnm.plugin.zsh
51+++ b/plugins/fnm/fnm.plugin.zsh
52@@ -1,7 +1,10 @@
53 if (( $+commands[fnm] )); then
54   ver="$(fnm --version)"
55   ver_file="$ZSH_CACHE_DIR/fnm_version"
56-  comp_file="$ZSH/plugins/fnm/_fnm"
57+  comp_file="$ZSH_CACHE_DIR/completions/_fnm"
58+
59+  mkdir -p "${comp_file:h}"
60+  (( ${fpath[(Ie)${comp_file:h}]} )) || fpath=("${comp_file:h}" $fpath)
61 
62   if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
63     fnm completions --shell=zsh >| "$comp_file"
64diff --git a/plugins/gh/gh.plugin.zsh b/plugins/gh/gh.plugin.zsh
65index c3d87848d72a9fb1276b11977c330cbf840d2aaf..a346ccf6556ea25aa94b8cceae1aa461f9baf90a 100644
66--- a/plugins/gh/gh.plugin.zsh
67+++ b/plugins/gh/gh.plugin.zsh
68@@ -2,7 +2,10 @@
69 if (( $+commands[gh] )); then
70   ver="$(gh --version)"
71   ver_file="$ZSH_CACHE_DIR/gh_version"
72-  comp_file="$ZSH/plugins/gh/_gh"
73+  comp_file="$ZSH_CACHE_DIR/completions/_gh"
74+
75+  mkdir -p "${comp_file:h}"
76+  (( ${fpath[(Ie)${comp_file:h}]} )) || fpath=("${comp_file:h}" $fpath)
77 
78   if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
79     gh completion --shell zsh >| "$comp_file"
80diff --git a/plugins/rustup/rustup.plugin.zsh b/plugins/rustup/rustup.plugin.zsh
81index e709f41bd3ea60f9dc969b852f7f657e41dc3669..8740f255a76c3f4f94b3ac08f2c37dd9cda33158 100644
82--- a/plugins/rustup/rustup.plugin.zsh
83+++ b/plugins/rustup/rustup.plugin.zsh
84@@ -1,7 +1,10 @@
85 if (( $+commands[rustup] )); then
86   ver="$(rustup --version 2>/dev/null)"
87   ver_file="$ZSH_CACHE_DIR/rustup_version"
88-  comp_file="$ZSH/plugins/rustup/_rustup"
89+  comp_file="$ZSH_CACHE_DIR/completions/_rustup"
90+
91+  mkdir -p "${comp_file:h}"
92+  (( ${fpath[(Ie)${comp_file:h}]} )) || fpath=("${comp_file:h}" $fpath)
93 
94   if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
95     rustup completions zsh >| "$comp_file"