Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Fix the outdated _npm completion script
On 2/23/14, 8:02 PM, Hong Xu wrote:
Hi,
The existing npm completion script no longer works. The stdout of `npm
completion` has become a script to add a completion function. Here is
the patch to update it.
An update to the patch, handling the case in which the npm command does
not exist.
Hong
diff --git a/Completion/Unix/Command/_npm b/Completion/Unix/Command/_npm
index 24b5361..f5493a3 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
Messages sorted by:
Reverse Date,
Date,
Thread,
Author