diff --git a/README.md b/README.md index 3a926f7..6473e1b 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ simplicity, showing information only when it's relevant. It currently shows: - Current Python virtualenv; when using Pyenv and no active virtualenv shows the current Python version the shell uses -- Current Ruby version using Rbenv or chruby; version and gemset when on RVM +- Current Ruby version using chruby; version and gemset when on RVM or Rbenv - Current Node.js version, through NVM - Current Perl version using plenv - Git status diff --git a/bullet-train.zsh-theme b/bullet-train.zsh-theme index 36e653c..a35b737 100644 --- a/bullet-train.zsh-theme +++ b/bullet-train.zsh-theme @@ -466,7 +466,7 @@ prompt_dir() { # RUBY # RVM: only shows RUBY info if on a gemset that is not the default one -# RBENV: shows current ruby version active in the shell +# RBENV: shows current ruby version active in the shell; also with non-global gemsets if any is active # CHRUBY: shows current ruby version active in the shell prompt_ruby() { if [[ $BULLETTRAIN_RUBY_SHOW == false ]]; then @@ -474,14 +474,19 @@ prompt_ruby() { fi if command -v rvm-prompt > /dev/null 2>&1; then - if [[ ! -n $(rvm gemset list | grep "=> (default)") ]] - then - prompt_segment $BULLETTRAIN_RUBY_BG $BULLETTRAIN_RUBY_FG $BULLETTRAIN_RUBY_PREFIX" $(rvm-prompt i v g)" - fi + prompt_segment $BULLETTRAIN_RUBY_BG $BULLETTRAIN_RUBY_FG $BULLETTRAIN_RUBY_PREFIX" $(rvm-prompt i v g)" elif command -v chruby > /dev/null 2>&1; then prompt_segment $BULLETTRAIN_RUBY_BG $BULLETTRAIN_RUBY_FG $BULLETTRAIN_RUBY_PREFIX" $(chruby | sed -n -e 's/ \* //p')" elif command -v rbenv > /dev/null 2>&1; then - prompt_segment $BULLETTRAIN_RUBY_BG $BULLETTRAIN_RUBY_FG $BULLETTRAIN_RUBY_PREFIX" $(rbenv version | sed -e 's/ (set.*$//')" + current_gemset() { + echo "$(rbenv gemset active 2&>/dev/null | sed -e 's/ global$//')" + } + + if [[ -n $(current_gemset) ]]; then + prompt_segment $BULLETTRAIN_RUBY_BG $BULLETTRAIN_RUBY_FG $BULLETTRAIN_RUBY_PREFIX" $(rbenv version | sed -e 's/ (set.*$//')"@"$(current_gemset)" + else + prompt_segment $BULLETTRAIN_RUBY_BG $BULLETTRAIN_RUBY_FG $BULLETTRAIN_RUBY_PREFIX" $(rbenv version | sed -e 's/ (set.*$//')" + fi fi }