浏览代码

fix(plugins): fix `_comps` error in completion generation plugins (#10190)

Fixes #10190
Marc Cornellà 2 年之前
父节点
当前提交
4e6e49652b
共有 5 个文件被更改,包括 55 次插入30 次删除
  1. 11 6
      plugins/cargo/cargo.plugin.zsh
  2. 11 5
      plugins/deno/deno.plugin.zsh
  3. 11 6
      plugins/fnm/fnm.plugin.zsh
  4. 11 6
      plugins/gh/gh.plugin.zsh
  5. 11 7
      plugins/rustup/rustup.plugin.zsh

+ 11 - 6
plugins/cargo/cargo.plugin.zsh

@@ -1,11 +1,16 @@
-# 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
+  ver="$(cargo --version)"
+  ver_file="$ZSH_CACHE_DIR/cargo_version"
+  comp_file="$ZSH/plugins/cargo/_cargo"
+
+  if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
+    rustup completions zsh cargo >| "$comp_file"
+    echo "$ver" >| "$ver_file"
   fi
+
+  declare -A _comps
   autoload -Uz _cargo
   _comps[cargo]=_cargo
+
+  unset ver ver_file comp_file
 fi

+ 11 - 5
plugins/deno/deno.plugin.zsh

@@ -12,12 +12,18 @@ alias dup='deno upgrade'
 
 # COMPLETION FUNCTION
 if (( $+commands[deno] )); then
-  if [[ ! -f $ZSH_CACHE_DIR/deno_version ]] \
-    || [[ "$(deno --version)" != "$(< "$ZSH_CACHE_DIR/deno_version")" ]] \
-    || [[ ! -f $ZSH/plugins/deno/_deno ]]; then
-    deno completions zsh > $ZSH/plugins/deno/_deno
-    deno --version > $ZSH_CACHE_DIR/deno_version
+  ver="$(deno --version)"
+  ver_file="$ZSH_CACHE_DIR/deno_version"
+  comp_file="$ZSH/plugins/deno/_deno"
+
+  if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
+    deno completions zsh >| "$comp_file"
+    echo "$ver" >| "$ver_file"
   fi
+
+  declare -A _comps
   autoload -Uz _deno
   _comps[deno]=_deno
+
+  unset ver ver_file comp_file
 fi

+ 11 - 6
plugins/fnm/fnm.plugin.zsh

@@ -1,12 +1,17 @@
-# COMPLETION FUNCTION
 if (( $+commands[fnm] )); then
-  if [[ ! -f $ZSH_CACHE_DIR/fnm_version ]] \
-    || [[ "$(fnm --version)" != "$(< "$ZSH_CACHE_DIR/fnm_version")" ]] \
-    || [[ ! -f $ZSH/plugins/fnm/_fnm ]]; then
-      fnm completions --shell=zsh > $ZSH/plugins/fnm/_fnm
-      fnm --version > $ZSH_CACHE_DIR/fnm_version
+  ver="$(fnm --version)"
+  ver_file="$ZSH_CACHE_DIR/fnm_version"
+  comp_file="$ZSH/plugins/fnm/_fnm"
+
+  if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
+    fnm completions --shell=zsh >| "$comp_file"
+    echo "$ver" >| "$ver_file"
   fi
+
+  declare -A _comps
   autoload -Uz _fnm
   _comps[fnm]=_fnm
+
+  unset ver ver_file comp_file
 fi
 

+ 11 - 6
plugins/gh/gh.plugin.zsh

@@ -1,13 +1,18 @@
 # Autocompletion for the GitHub CLI (gh).
-
 if (( $+commands[gh] )); then
-  if [[ ! -r "$ZSH_CACHE_DIR/gh_version" \
-    || "$(gh --version)" != "$(< "$ZSH_CACHE_DIR/gh_version")"
-    || ! -f "$ZSH/plugins/gh/_gh" ]]; then
-    gh completion --shell zsh > $ZSH/plugins/gh/_gh
-    gh --version > $ZSH_CACHE_DIR/gh_version
+  ver="$(gh --version)"
+  ver_file="$ZSH_CACHE_DIR/gh_version"
+  comp_file="$ZSH/plugins/gh/_gh"
+
+  if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
+    gh completion --shell zsh >| "$comp_file"
+    echo "$ver" >| "$ver_file"
   fi
+
+  declare -A _comps
   autoload -Uz _gh
   _comps[gh]=_gh
+
+  unset ver ver_file comp_file
 fi
 

+ 11 - 7
plugins/rustup/rustup.plugin.zsh

@@ -1,12 +1,16 @@
-# COMPLETION FUNCTION
 if (( $+commands[rustup] )); then
-  if [[ ! -f $ZSH_CACHE_DIR/rustup_version ]] \
-    || [[ "$(rustup --version 2> /dev/null)" \
-      != "$(< "$ZSH_CACHE_DIR/rustup_version")" ]] \
-    || [[ ! -f $ZSH/plugins/rustup/_rustup ]]; then
-    rustup completions zsh > $ZSH/plugins/rustup/_rustup
-    rustup --version 2> /dev/null > $ZSH_CACHE_DIR/rustup_version
+  ver="$(rustup --version 2>/dev/null)"
+  ver_file="$ZSH_CACHE_DIR/rustup_version"
+  comp_file="$ZSH/plugins/rustup/_rustup"
+
+  if [[ ! -f "$comp_file" || ! -f "$ver_file" || "$ver" != "$(< "$ver_file")" ]]; then
+    rustup completions zsh >| "$comp_file"
+    echo "$ver" >| "$ver_file"
   fi
+
+  declare -A _comps
   autoload -Uz _rustup
   _comps[rustup]=_rustup
+
+  unset ver ver_file comp_file
 fi