summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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