summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Cornellà <marc.cornella@live.com>2020-02-25 22:23:37 +0100
committerGitHub <noreply@github.com>2020-02-25 22:23:37 +0100
commit609890847d3e3b222431952ee7be99803bd16ccc (patch)
tree0e49baa19f97ea7bb50e9b39fff4c8f1b73a1735
parent3e9e385d98da148a7ad8e8d99da35ce6b7aae9ca (diff)
downloadzsh-609890847d3e3b222431952ee7be99803bd16ccc.tar.gz
zsh-609890847d3e3b222431952ee7be99803bd16ccc.tar.bz2
zsh-609890847d3e3b222431952ee7be99803bd16ccc.zip
npm: hardcode completion function and delete cached one (#8679)
Fixes #8665
-rw-r--r--plugins/npm/npm.plugin.zsh22
1 files changed, 12 insertions, 10 deletions
diff --git a/plugins/npm/npm.plugin.zsh b/plugins/npm/npm.plugin.zsh
index f62174a4f..87c68f3fb 100644
--- a/plugins/npm/npm.plugin.zsh
+++ b/plugins/npm/npm.plugin.zsh
@@ -1,14 +1,16 @@
(( $+commands[npm] )) && {
- __NPM_COMPLETION_FILE="${ZSH_CACHE_DIR:-$ZSH/cache}/npm_completion"
-
- if [[ ! -f $__NPM_COMPLETION_FILE ]]; then
- npm completion >! $__NPM_COMPLETION_FILE 2>/dev/null
- [[ $? -ne 0 ]] && rm -f $__NPM_COMPLETION_FILE
- fi
-
- [[ -f $__NPM_COMPLETION_FILE ]] && source $__NPM_COMPLETION_FILE
-
- unset __NPM_COMPLETION_FILE
+ rm -f "${ZSH_CACHE_DIR:-$ZSH/cache}/npm_completion"
+
+ _npm_completion() {
+ local si=$IFS
+ compadd -- $(COMP_CWORD=$((CURRENT-1)) \
+ COMP_LINE=$BUFFER \
+ COMP_POINT=0 \
+ npm completion -- "${words[@]}" \
+ 2>/dev/null)
+ IFS=$si
+ }
+ compdef _npm_completion npm
}
# Install dependencies globally