diff --git a/libexec/rbenv-help b/libexec/rbenv-help index dcf671ac..ad44e9ee 100755 --- a/libexec/rbenv-help +++ b/libexec/rbenv-help @@ -1,13 +1,18 @@ #!/usr/bin/env bash -e print_set_version() { - echo " should be a string matching the installed Ruby name known by rbenv. + echo " should be a string matching a Ruby version known by rbenv." -For your install, this is currently one of: + local versions="$(rbenv-versions --bare)" + if [ -z "$versions" ]; then + echo "There are currently no Ruby versions installed for rbenv." + else + echo "The currently installed Ruby versions are:" + echo "$versions" | sed 's/^/ /' + fi -$(rbenv-versions --bare) - -The special version string 'system' will use your default system Ruby." + echo + echo "The special version string 'system' will use your default system Ruby." } case "$1" in @@ -15,27 +20,33 @@ case "$1" in Some useful rbenv commands are: commands List all commands - rehash Rehash rbenv shims, use after installing binaries - set-default Set global default Ruby - set-local Set local directory default Ruby - version Show Ruby version being used - versions List Ruby versions known by rbenv + rehash Rehash rbenv shims (run this after installing binaries) + set-default Set the default Ruby version + set-local Set a local directory-specific Ruby version + version Show the current Ruby version + versions List all Ruby versions known by rbenv See 'rbenv help ' for more information on a specific command. For a quick guide to rbenv, see: https://gist.github.com/1120938" ;; set-default) echo "usage: rbenv set-default -Sets the global default Ruby. +Sets the default Ruby version. You can override the default at any time +by setting a directory-specific version with \`rbenv set-default' or by +setting the RBENV_VERSION environment variable. $(print_set_version)" ;; set-local) echo "usage: rbenv set-local -Sets the local directory default Ruby, by writing the version to a file -named '.rbenv-version'. rbenv will search for this file up the directory -tree from the current working directory each time its shims are executed, -so this default will affect subdirectories. +Sets the local directory-specific Ruby version by writing the version +name to a file named '.rbenv-version'. + +When you run a Ruby command, rbenv will look for an '.rbenv-version' +file in the current directory and each parent directory. If no such +file is found in the tree, rbenv will use the default Ruby version +specified with \`rbenv set-default', or the version specified in the +RBENV_VERSION environment variable. $(print_set_version)" ;;