From 73325d22f13fa4d606988867fd9911bc2232b46e Mon Sep 17 00:00:00 2001 From: "Viktor (Icon) VAD" Date: Mon, 9 Nov 2015 12:02:31 +0000 Subject: [PATCH] Rbenv gemsets --- README.md | 2 +- bullet-train.zsh-theme | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index bc3d1a4..841dee7 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,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 - Git status - Timestamp diff --git a/bullet-train.zsh-theme b/bullet-train.zsh-theme index a39b44a..9b93dad 100644 --- a/bullet-train.zsh-theme +++ b/bullet-train.zsh-theme @@ -356,7 +356,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 @@ -364,14 +364,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 -e 's/ \* //')" 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 $(rbenv gemset version > /dev/null) && [[ -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 }