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/rbenv.plugin.zsh | |
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/rbenv.plugin.zsh')
-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 |