From d6907ab532246d9a50c97f7338fd60b530ee7626 Mon Sep 17 00:00:00 2001 From: Sorin Ionescu Date: Sat, 27 Aug 2011 21:03:50 -0400 Subject: [PATCH] Added npm completion caching. --- plugins/node/node.plugin.zsh | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plugins/node/node.plugin.zsh b/plugins/node/node.plugin.zsh index a9c3b45f..442afa03 100644 --- a/plugins/node/node.plugin.zsh +++ b/plugins/node/node.plugin.zsh @@ -1,5 +1,13 @@ # Complete npm. -eval "$(npm completion 2>/dev/null)" +cache_file="${0:h}/cache.zsh" +if [[ ! -f "$cache_file" ]] && (( $+commands[npm] )); then + # npm is slow; cache its output. + npm completion >! "$cache_file" 2>/dev/null + source "$cache_file" +else + source "$cache_file" +fi +unset cache_file # Open the node api for your current version to the optional section. # TODO: Make the sections easier to use.