summary refs log tree commit diff
path: root/Completion/Unix/Command
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Unix/Command')
-rw-r--r--Completion/Unix/Command/_npm20
1 files changed, 5 insertions, 15 deletions
diff --git a/Completion/Unix/Command/_npm b/Completion/Unix/Command/_npm
index 24b536188..f5493a321 100644
--- a/Completion/Unix/Command/_npm
+++ b/Completion/Unix/Command/_npm
@@ -1,19 +1,9 @@
 #compdef npm
 
-# Node Package Manager 0.3.15 completion, letting npm do all the completion work
+# Node Package Manager completion, letting npm do all the completion work
 
-_npm() {
-  compadd -- $(_npm_complete $words)
-}
+if type npm > /dev/null; then
+  eval "$(npm completion)"
 
-# We want to show all errors of any substance, but never the "npm (not )ok" one.
-# (Also doesn't consider "ERR! no match found" worth breaking the terminal for.)
-_npm_complete() {
-  local ask_npm
-  ask_npm=(npm completion --color false --loglevel error -- $@)
-  { _call_program npm $ask_npm 2>&1 >&3 \
-  | egrep -v '^(npm (not |)ok|ERR! no match found)$' >&2; \
-  } 3>&1
-}
-
-_npm "$@"
+  _npm_completion "$@"
+fi