scripts/list in rvm-1.0.6 vs scripts/list in rvm-1.0.7

- old
+ new

@@ -1,12 +1,10 @@ #!/usr/bin/env bash -rvm_pretty_print=${rvm_pretty_print:-0} - rvm_base_except="selector" -source "$rvm_scripts_path/base" +source "$rvm_path/scripts/base" usage() { printf " Usage: @@ -32,15 +30,16 @@ all_rubies="$(list_strings)" printf "\nrvm gemsets\n" - versions=($(builtin cd "$rvm_gems_path/" ; find * -type d -maxdepth 0 -print 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}')) - for version in "${versions[@]}" ; do + versions=($(builtin cd "$rvm_gems_path/" ; find . -maxdepth 1 -mindepth 1 -type d -print 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}')) - ruby_version_name="$(echo "$version" | awk -F"$rvm_gemset_separator" '{print $1}')" + for version in "${versions[@]//.\/}" ; do + ruby_version_name="$(echo "$version" | awk -F"${rvm_gemset_separator:-"@"}" '{print $1}')" + [[ "$all_rubies" != *"$ruby_version_name"* ]] && continue if echo "$version" | grep -q '^jruby-' ; then string="[ $("$rvm_rubies_path/$ruby_version_name/bin/ruby" -v | awk '{print $NF}' | sed -e 's/\[//' -e 's/\]//') ]" @@ -57,11 +56,11 @@ printf "=> " else printf " " fi - if [[ ${rvm_pretty_print:-0} -eq 1 ]] ; then + if [[ ${rvm_pretty_print_flag:-0} -eq 1 ]] ; then printf "$(tput setaf 2)$version$(tput sgr0) $string" else printf "$version $string" fi @@ -72,19 +71,19 @@ version=$(grep 'MY_RUBY_HOME' "$rvm_config_path/default" | head -n1 | awk -F"'" '{print $2}' | xargs basename --) if [[ -n "$version" ]] ; then - printf "\n\nDefault Ruby (for new shells)\n" + printf "\nDefault Ruby (for new shells)\n" string="[ $(file "$rvm_rubies_path/$version/bin/ruby" | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | tr "\n" ' ')]" - if [[ ${rvm_pretty_print:-0} -eq 1 ]] ; then + if [[ ${rvm_pretty_print_flag:-0} -eq 1 ]] ; then - printf "\n $(tput setaf 2)$version$(tput sgr0) $string" + printf "\n $(tput setaf 2)$version$(tput sgr0) $string\n" else - printf "\n $version $string" + printf "\n $version $string\n" fi fi fi @@ -98,37 +97,41 @@ local version string if [[ "${args[0]:-""}" = "string" ]] ; then - "$rvm_scripts_path/alias" show default 2>/dev/null | awk -F"$rvm_gemset_separator" '{print $1}' | xargs basename -- + "$rvm_path/scripts/alias" show default 2>/dev/null | awk -F"${rvm_gemset_separator:-"@"}" '{print $1}' | xargs basename -- else if [[ -L "$rvm_rubies_path/default" ]]; then - version=$("$rvm_scripts_path/alias" show default 2>/dev/null | awk -F"$rvm_gemset_separator" '{print $1}' | xargs basename --) + version=$("$rvm_path/scripts/alias" show default 2>/dev/null | awk -F"${rvm_gemset_separator:-"@"}" '{print $1}' | xargs basename --) if [[ -n "$version" ]] ; then - printf "\n\nDefault Ruby (for new shells)\n" + printf "\nDefault Ruby (for new shells)\n" string="[ $(file "$rvm_rubies_path/$version/bin/ruby" | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | \tr "\n" ' ')]" - if [[ ${rvm_pretty_print:-0} -eq 1 ]] ; then + if [[ ${rvm_pretty_print_flag:-0} -eq 1 ]] ; then printf "\n $(tput setaf 2)$version$(tput sgr0) $string\n" + else printf "\n $version $string\n" fi - fi ; unset version + fi fi fi + printf "\n" + return 0 } list_ruby_svn_tags() { + local prefix tag while read -r tag do prefix="$(echo ${tag/\//} | sed 's#^v1_##' | awk -F'_' '{print "(ruby-)1."$1"."$2}' | sed 's#p$##')" @@ -141,30 +144,32 @@ } # Query for valid rvm ruby strings # This is meant to be used with scripting. list_strings() { + ( cd "$rvm_rubies_path" - find * -type d -maxdepth 0 + find . -maxdepth 1 -mindepth 1 -type d | sed -e 's#./##g' ) return $? } # This is meant to be used with scripting. list_gemset_strings() { + local all_rubies ruby_name gemset gemsets all_rubies="$(list_strings)" - gemsets=($(builtin cd "$rvm_gems_path" ; find * -type d -maxdepth 0 2>/dev/null | xargs -n1 basename -- | \grep -v '^\(@\|doc$\|cache$\|system$\)' | sort)) + gemsets=($(builtin cd "$rvm_gems_path" ; find . -maxdepth 1 -mindepth 1 -type d 2>/dev/null | xargs -n1 basename -- | \grep -v '^\(@\|doc$\|cache$\|system$\)' | sort)) - for gemset in "${gemsets[@]}" ; do + for gemset in "${gemsets[@]//.\/}" ; do - ruby_name="${gemset//${rvm_gemset_separator}*}" + ruby_name="${gemset//${rvm_gemset_separator:-"@"}*}" [[ "$all_rubies" != *"$ruby_name"* ]] && continue echo "$gemset" done @@ -173,11 +178,11 @@ } # This is meant to be used with scripting. list_known_strings() { - sed -e 's/#.*$//g' -e 's/(//g' -e 's/)//g' < "$rvm_config_path/known" | sort -r | uniq + sed -e 's/#.*$//g' -e 's#\[##g' -e 's#\]##g' < "$rvm_config_path/known" | sort -r | uniq return $? } list_known() { @@ -200,33 +205,33 @@ fi return $? } - list_rubies_strings() { - ( builtin cd "$rvm_rubies_path" ; find -type d -maxdepth 0 | tail -n+2 | xargs -n1 basename -- | __rvm_strip ) + + ( builtin cd "$rvm_rubies_path" ; find -maxdepth 0 -type d | tail -n+2 | xargs -n1 basename -- | __rvm_strip ) + return $? } list_rubies() { local current_ruby rubies version selected system_ruby system_version string binary if [[ "${1:-""}" = "strings" ]]; then list_rubies_strings ; return 0 ; fi - current_ruby="$(__rvm_environment_identifier | awk -F"$rvm_gemset_separator" '{print $1}')" + current_ruby="$(__rvm_environment_identifier | awk -F"${rvm_gemset_separator:-"@"}" '{print $1}')" printf "\nrvm rubies\n" - rubies=($(builtin cd "$rvm_rubies_path/" ; find * -type d -maxdepth 0 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}')) + rubies=($(builtin cd "$rvm_rubies_path/" ; find . -maxdepth 1 -mindepth 1 -type d 2> /dev/null | awk '/[a-z]*-.*/ {print $NF}')) - for version in "${rubies[@]}" ; do + for version in "${rubies[@]//.\/}" ; do [[ ! -x "$rvm_rubies_path/$version/bin/ruby" ]] && continue - ( if echo "$version" | grep -q '^jruby-' ; then string="[ $("$rvm_rubies_path/$version/bin/ruby" -v | awk '{print $NF}' | sed -e 's/\[//' -e 's/\]//') ]" elif [[ ! -z "$(echo "$version" | awk '/^maglev-|^macruby-/')" ]] ; then @@ -245,34 +250,32 @@ else printf " " fi # TODO: Only use tput for interactive terminal sessions. - if [[ ${rvm_pretty_print:-0} -eq 1 ]] ; then + if [[ ${rvm_pretty_print_flag:-0} -eq 1 ]] ; then printf "$(tput setaf 2)$version$(tput sgr0) $string" else printf "$version $string" fi - )& - done ; wait + done if [[ -f "$rvm_config_path/default" ]] && [[ -s "$rvm_config_path/default" ]] ; then version=$(grep 'MY_RUBY_HOME' "$rvm_config_path/default" | head -n 1 | awk -F"'" '{print $2}' | xargs basename --) if [[ -n "$version" ]] ; then - printf "\n\nDefault Ruby (for new shells)\n" + printf "Default Ruby (for new shells)\n" string="[ $(file "$rvm_rubies_path/$version/bin/ruby" | awk '/x86.64/ {print "x86_64"} /386/ {print "i386"} /ppc/ {print "ppc"}' | \tr "\n" ' ')]" - if [[ ${rvm_pretty_print:-0} -eq 1 ]] ; then - - printf "\n $(tput setaf 2)$version$(tput sgr0) $string" + if [[ ${rvm_pretty_print_flag:-0} -eq 1 ]] ; then + printf " $(tput setaf 2)$version$(tput sgr0) $string\n" else - printf "\n $version $string" + printf " $version $string\n" fi fi fi