summaryrefslogtreecommitdiff
path: root/plugins/npm/_npm
diff options
context:
space:
mode:
authorPat Regan <thehead@patshead.com>2011-04-20 01:29:58 -0400
committerPat Regan <thehead@patshead.com>2011-04-20 01:29:58 -0400
commit655e6e8df0aaba7da9a4a35a3c2017a9050fa99d (patch)
tree0eeaba5ff7b8453a7cc94cdc0ad2d9c1b951afbf /plugins/npm/_npm
parent796f5164f306da2f4e6ab7cbadc17b78f5f683af (diff)
parent971b071dc67f423d8b2a6f476e1dd58819049f41 (diff)
downloadzsh-655e6e8df0aaba7da9a4a35a3c2017a9050fa99d.tar.gz
zsh-655e6e8df0aaba7da9a4a35a3c2017a9050fa99d.tar.bz2
zsh-655e6e8df0aaba7da9a4a35a3c2017a9050fa99d.zip
Merge remote branch 'upstream/master'
Conflicts: plugins/github/github.plugin.zsh
Diffstat (limited to 'plugins/npm/_npm')
-rw-r--r--plugins/npm/_npm19
1 files changed, 19 insertions, 0 deletions
diff --git a/plugins/npm/_npm b/plugins/npm/_npm
new file mode 100644
index 000000000..24b536188
--- /dev/null
+++ b/plugins/npm/_npm
@@ -0,0 +1,19 @@
+#compdef npm
+
+# Node Package Manager 0.3.15 completion, letting npm do all the completion work
+
+_npm() {
+ compadd -- $(_npm_complete $words)
+}
+
+# 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 "$@"