]> git.rmz.io Git - dotfiles.git/blob - zsh/plugins/rbenv/rbenv.plugin.zsh
add xbindkeysrc
[dotfiles.git] / zsh / plugins / rbenv / rbenv.plugin.zsh
1 _homebrew-installed() {
2 type brew &> /dev/null
3 }
4
5 _rbenv-from-homebrew-installed() {
6 brew --prefix rbenv &> /dev/null
7 }
8
9 FOUND_RBENV=0
10 rbenvdirs=("$HOME/.rbenv" "/usr/local/rbenv" "/opt/rbenv")
11 if _homebrew-installed && _rbenv-from-homebrew-installed ; then
12 rbenvdirs=($(brew --prefix rbenv) "${rbenvdirs[@]}")
13 fi
14
15 for rbenvdir in "${rbenvdirs[@]}" ; do
16 if [ -d $rbenvdir/bin -a $FOUND_RBENV -eq 0 ] ; then
17 FOUND_RBENV=1
18 export RBENV_ROOT=$rbenvdir
19 export PATH=${rbenvdir}/bin:$PATH
20 eval "$(rbenv init - zsh)"
21
22 alias rubies="rbenv versions"
23 alias gemsets="rbenv gemset list"
24
25 function current_ruby() {
26 echo "$(rbenv version-name)"
27 }
28
29 function current_gemset() {
30 echo "$(rbenv gemset active 2&>/dev/null | sed -e ":a" -e '$ s/\n/+/gp;N;b a' | head -n1)"
31 }
32
33 function gems {
34 local rbenv_path=$(rbenv prefix)
35 gem list $@ | sed \
36 -Ee "s/\([0-9\.]+( .+)?\)/$fg[blue]&$reset_color/g" \
37 -Ee "s|$(echo $rbenv_path)|$fg[magenta]\$rbenv_path$reset_color|g" \
38 -Ee "s/$current_ruby@global/$fg[yellow]&$reset_color/g" \
39 -Ee "s/$current_ruby$current_gemset$/$fg[green]&$reset_color/g"
40 }
41
42 function rbenv_prompt_info() {
43 if [[ -n $(current_gemset) ]] ; then
44 echo "$(current_ruby)@$(current_gemset)"
45 else
46 echo "$(current_ruby)"
47 fi
48 }
49 fi
50 done
51 unset rbenvdir
52
53 if [ $FOUND_RBENV -eq 0 ] ; then
54 alias rubies='ruby -v'
55 function gemsets() { echo 'not supported' }
56 function rbenv_prompt_info() { echo "system: $(ruby -v | cut -f-2 -d ' ')" }
57 fi