From cb7d7a96511f288fda08402670607700e301f4b6 Mon Sep 17 00:00:00 2001 From: Kaiting Chen Date: Wed, 13 Nov 2019 10:12:34 -0800 Subject: [PATCH] Use shell globbing to set RUBIES --- share/chruby/chruby.sh | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/share/chruby/chruby.sh b/share/chruby/chruby.sh index be4a561e..353fddb9 100644 --- a/share/chruby/chruby.sh +++ b/share/chruby/chruby.sh @@ -1,10 +1,23 @@ CHRUBY_VERSION="0.3.9" RUBIES=() -for dir in "$PREFIX/opt/rubies" "$HOME/.rubies"; do - [[ -d "$dir" && -n "$(ls -A "$dir")" ]] && RUBIES+=("$dir"/*) -done -unset dir +function chruby_rubies() +{ + if [ -n "$ZSH_VERSION" ]; then + setopt local_options nodotglob nullglob + else + trap "$(shopt -p dotglob nullglob)" RETURN + shopt -u dotglob + shopt -s nullglob + fi + + local dir + for dir in "$@"; do + [[ -d "$dir" ]] && RUBIES+=("$dir"/*) + done +} +chruby_rubies "$PREFIX/opt/rubies" "$HOME/.rubies" +unset -f chruby_rubies function chruby_reset() {