diff options
| author | Sébastien M-B <essembeh@gmail.com> | 2012-04-12 19:28:59 +0200 | 
|---|---|---|
| committer | Sébastien M-B <essembeh@gmail.com> | 2012-04-12 19:28:59 +0200 | 
| commit | 741388be00fb88b7680e0faa328adf5a86e1f65f (patch) | |
| tree | 5e53a65fcc71bc01c5f81b28fb5e54faaf3ab2a8 /plugins/rbenv | |
| parent | 37266112759a5759536cc4ea84ea063695cd1f2e (diff) | |
| parent | 1120f973054836eeb53750f57d69fbec41a340dc (diff) | |
| download | zsh-741388be00fb88b7680e0faa328adf5a86e1f65f.tar.gz zsh-741388be00fb88b7680e0faa328adf5a86e1f65f.tar.bz2 zsh-741388be00fb88b7680e0faa328adf5a86e1f65f.zip  | |
Merge remote branch 'upstream/master'
Conflicts:
	lib/completion.zsh
Diffstat (limited to 'plugins/rbenv')
| -rw-r--r-- | plugins/rbenv/rbenv.plugin.zsh | 44 | 
1 files changed, 44 insertions, 0 deletions
diff --git a/plugins/rbenv/rbenv.plugin.zsh b/plugins/rbenv/rbenv.plugin.zsh new file mode 100644 index 000000000..ae37404cd --- /dev/null +++ b/plugins/rbenv/rbenv.plugin.zsh @@ -0,0 +1,44 @@ +FOUND_RBENV=0 +for rbenvdir in "$HOME/.rbenv" "/usr/local/rbenv" "/opt/rbenv" ; do +  if [ -d $rbenvdir/bin -a $FOUND_RBENV -eq 0 ] ; then +    FOUND_RBENV=1 +    export RBENV_ROOT=$rbenvdir +    export PATH=${rbenvdir}/bin:$PATH +    eval "$(rbenv init -)" + +    alias rubies="rbenv versions" +    alias gemsets="rbenv gemset list" + +    function current_ruby() { +      echo "$(rbenv version-name)" +    } + +    function current_gemset() { +      echo "$(rbenv gemset active 2&>/dev/null | sed -e ":a" -e '$ s/\n/+/gp;N;b a' | head -n1)" +    } + +    function gems { +      local rbenv_path=$(rbenv prefix) +      gem list $@ | sed \ +        -Ee "s/\([0-9\.]+( .+)?\)/$fg[blue]&$reset_color/g" \ +        -Ee "s|$(echo $rbenv_path)|$fg[magenta]\$rbenv_path$reset_color|g" \ +        -Ee "s/$current_ruby@global/$fg[yellow]&$reset_color/g" \ +        -Ee "s/$current_ruby$current_gemset$/$fg[green]&$reset_color/g" +    } + +    function rbenv_prompt_info() { +      if [[ -n $(current_gemset) ]] ; then +        echo "$(current_ruby)@$(current_gemset)" +      else +        echo "$(current_ruby)" +      fi +    } +  fi +done +unset rbenvdir + +if [ $FOUND_RBENV -eq 0 ] ; then +  alias rubies='ruby -v' +  function gemsets() { echo 'not supported' } +  function rbenv_prompt_info() { echo "system: $(ruby -v | cut -f-2 -d ' ')" } +fi  | 
