diff --git a/scripts/gemsets b/scripts/gemsets index 3cbba66756..a948a8a9d5 100755 --- a/scripts/gemsets +++ b/scripts/gemsets @@ -225,10 +225,21 @@ gemset_list() if [[ -n "${rvm_ruby_string:-""}" ]] ; then - ls "${rvm_gems_path:-"$rvm_path/gems"}/" \ - | awk -F"${rvm_gemset_separator:-"@"}" \ - "/${rvm_ruby_string}${rvm_gemset_separator:-"@"}/{print \$2}" \ - 2>/dev/null + # What's the current gemset? + local current_gemset="${GEM_HOME:-}" + # We only care about the stuff to the right of the separator. + current_gemset="${current_gemset##*${rvm_gemset_separator:-@}}" + + # Figure out the active gemsets for this version. + for gemset in "${rvm_gems_path:-${rvm_path}/gems}/${rvm_ruby_string}${rvm_gemset_separator:-@}"* + do + gemset="${gemset##*${rvm_gemset_separator:-@}}" + if [[ "${gemset}" = "${current_gemset}" ]]; then + echo "=> ${gemset}" + else + echo " ${gemset}" + fi + done else rvm_error "\$rvm_ruby_string is not set!"