You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.4 KiB
42 lines
1.4 KiB
# Enables rbfu with --auto option, if available. |
|
# |
|
# Also provides a command to list all installed/available |
|
# rubies. To ensure compatibility with themes, creates the |
|
# rvm_prompt_info function to return the $RBFU_RUBY_VERSION |
|
# version. |
|
|
|
command -v rbfu &>/dev/null |
|
|
|
if [[ $? -eq 0 ]]; then |
|
eval "$(rbfu --init --auto)" |
|
|
|
# Internal: Print ruby version details, if it's currently |
|
# active etc. |
|
function _rbfu_rubies_print() { |
|
local rb rb_out |
|
rb=$(basename $1) |
|
rb_out="$rb" |
|
[[ -h $1 ]] && rb_out="$rb_out${fg[green]}@${reset_color}" |
|
[[ "x$rb" == "x$2" ]] && rb_out="${fg[red]}$rb_out ${fg[red]}*${reset_color}" |
|
echo $rb_out |
|
} |
|
|
|
# Public: Provide a list with all available rubies, this basically depends |
|
# on `ls -1` and .rfbu/rubies. Highlights the currently active ruby version |
|
# and aliases. |
|
function rbfu-rubies() { |
|
local rbfu_dir active_rb |
|
rbfu_dir=$RBFU_RUBIES |
|
active_rb=$RBFU_RUBY_VERSION |
|
[[ -z "$rbfu_dir" ]] && rbfu_dir="${HOME}/.rbfu/rubies" |
|
[[ -z "$active_rb" ]] && active_rb="system" |
|
_rbfu_rubies_print "${rbfu_dir}/system" $active_rb |
|
for rb in $(ls -1 $rbfu_dir); do |
|
_rbfu_rubies_print "${rbfu_dir}/${rb}" $active_rb |
|
done |
|
} |
|
|
|
# Public: Create rvm_prompt_info command for themes compatibility, unless |
|
# it has already been defined. |
|
[ ! -x rvm_prompt_info ] && function rvm_prompt_info() { echo "${RBFU_RUBY_VERSION:=system}" } |
|
fi
|
|
|