diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | Completion/Unix/Command/.distfiles | 1 | ||||
-rw-r--r-- | Completion/Unix/Command/_npm | 19 |
3 files changed, 26 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog index 2ab3209b4..5710f7d9b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-03-20 Frank Terbeck <ft@bewatermyfriend.org> + + * Johan Sundström: 28890: Completion/Unix/Command/.distfiles, + Completion/Unix/Command/_npm: New _npm completion. + 2011-03-18 Frank Terbeck <ft@bewatermyfriend.org> * Nikolai Weibull: 28914: Completion/Unix/Command/_git: Typo @@ -14358,5 +14363,5 @@ ***************************************************** * This is used by the shell to define $ZSH_PATCHLEVEL -* $Revision: 1.5227 $ +* $Revision: 1.5228 $ ***************************************************** diff --git a/Completion/Unix/Command/.distfiles b/Completion/Unix/Command/.distfiles index a0ac7f8f5..78b89f2cf 100644 --- a/Completion/Unix/Command/.distfiles +++ b/Completion/Unix/Command/.distfiles @@ -137,6 +137,7 @@ _ncftp _netcat _nice _nmap +_npm _nslookup _osc _pack diff --git a/Completion/Unix/Command/_npm b/Completion/Unix/Command/_npm new file mode 100644 index 000000000..24b536188 --- /dev/null +++ b/Completion/Unix/Command/_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 "$@" |