setup rvm based on PWD variable

This commit is contained in:
Bruno Pinto 2013-03-02 03:22:10 -03:00
parent f026e18384
commit 14d0391e70
2 changed files with 24 additions and 34 deletions

View File

@ -1,34 +0,0 @@
#
# Source a .rvmrc file in a directory after changing to it, if it exists.
# To disable this feature, set rvm_project_rvmrc=0 in $HOME/.rvmrc
#
function cd --description "Change directory"
redefine_function 'cd' "$__fish_datadir/functions/cd.fish" '
function cd --description "Change working directory"
old_cd "$argv"
if test "$rvm_project_rvmrc" != 0
set -l cwd $PWD
while true
if contains $cwd "" $HOME "/"
if test "$rvm_project_rvmrc_default" = 1
rvm default 1>/dev/null 2>&1
end
break
else
if begin ; test -s ".rvmrc" ; or test -s ".versions.conf" ; end
rvm reload 1>/dev/null 2>&1
break
else
set cwd (dirname "$cwd")
end
end
end
set -e cwd
end
end
'
cd "$argv"
end

24
plugins/rvm/rvm.load Normal file
View File

@ -0,0 +1,24 @@
function __check_rvm --on-variable PWD --description 'Setup rvm on directory change'
status --is-command-substitution; and return
if test "$rvm_project_rvmrc" != 0
set -l cwd $PWD
while true
if contains $cwd "" $HOME "/"
if test "$rvm_project_rvmrc_default" = 1
rvm default 1>/dev/null 2>&1
end
break
else
if begin ; test -s ".rvmrc" ; or test -s ".versions.conf" ; end
rvm reload 1>/dev/null 2>&1
break
else
set cwd (dirname "$cwd")
end
end
end
set -e cwd
end
end