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"