From 927d5ecec6969fe37d3a4d0b9a1482b04cf4f154 Mon Sep 17 00:00:00 2001 From: Michal Cichra Date: Fri, 21 Oct 2016 21:32:42 +0200 Subject: [PATCH] [chruby] avoid calling brew --prefix 3 times once is enough, improves performance significantly scope variable to local via anonymous function --- plugins/chruby/chruby.plugin.zsh | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/plugins/chruby/chruby.plugin.zsh b/plugins/chruby/chruby.plugin.zsh index f4dd2c47d..c4453b86a 100644 --- a/plugins/chruby/chruby.plugin.zsh +++ b/plugins/chruby/chruby.plugin.zsh @@ -20,10 +20,6 @@ _homebrew-installed() { whence brew &> /dev/null } -_chruby-from-homebrew-installed() { - [ -r $(brew --prefix chruby) ] &> /dev/null -} - _ruby-build_installed() { whence ruby-build &> /dev/null } @@ -63,18 +59,22 @@ _chruby_dirs() { done } -if _homebrew-installed && _chruby-from-homebrew-installed ; then - source $(brew --prefix chruby)/share/chruby/chruby.sh - source $(brew --prefix chruby)/share/chruby/auto.sh - _chruby_dirs -elif [[ -r "/usr/local/share/chruby/chruby.sh" ]] ; then - source /usr/local/share/chruby/chruby.sh - source /usr/local/share/chruby/auto.sh - _chruby_dirs -else - _source_from_omz_settings - _chruby_dirs -fi +function () { + local _chruby_homebrew_prefix=$(brew --prefix chruby) &> /dev/null + + if _homebrew-installed && [ -r ${_chruby_homebrew_prefix} ] ; then + source ${_chruby_homebrew_prefix}/share/chruby/chruby.sh + source ${_chruby_homebrew_prefix}/share/chruby/auto.sh + _chruby_dirs + elif [[ -r "/usr/local/share/chruby/chruby.sh" ]] ; then + source /usr/local/share/chruby/chruby.sh + source /usr/local/share/chruby/auto.sh + _chruby_dirs + else + _source_from_omz_settings + _chruby_dirs + fi +} function ensure_chruby() { $(whence chruby)