Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
20ecca2b
Commit
20ecca2b
authored
May 08, 2019
by
Thomas Kriechbaumer
Committed by
Marc Cornellà
May 08, 2019
Browse files
rbenv: improve rbenv loading based on pyenv (#7626)
parent
4cadbcd2
Changes
2
Hide whitespace changes
Inline
Side-by-side
plugins/pyenv/pyenv.plugin.zsh
View file @
20ecca2b
...
@@ -38,4 +38,4 @@ else
...
@@ -38,4 +38,4 @@ else
}
}
fi
fi
unset
FOUND_PYENV
dir
unset
FOUND_PYENV
pyenvdirs
dir
plugins/rbenv/rbenv.plugin.zsh
View file @
20ecca2b
_homebrew-installed
()
{
# This plugin loads rbenv into the current shell and provides prompt info via
type
brew &> /dev/null
# the 'rbenv_prompt_info' function.
}
FOUND_RBENV
=
$+
commands[rbenv]
FOUND_RBENV
=
0
rbenvdirs
=(
"
$HOME
/.rbenv"
"/usr/local/rbenv"
"/opt/rbenv"
"/usr/local/opt/rbenv"
)
if
[[
$FOUND_RBENV
-ne
1
]]
;
then
if
_homebrew-installed
&&
rbenv_homebrew_path
=
$(
brew
--prefix
rbenv 2>/dev/null
)
;
then
rbenvdirs
=(
"
$HOME
/.rbenv"
"/usr/local/rbenv"
"/opt/rbenv"
"/usr/local/opt/rbenv"
)
rbenvdirs
=(
$rbenv_homebrew_path
"
${
rbenvdirs
[@]
}
"
)
for
dir
in
$rbenvdirs
;
do
unset
rbenv_homebrew_path
if
[[
-d
$dir
/bin
]]
;
then
if
[[
$RBENV_ROOT
=
''
]]
;
then
export
PATH
=
"
$dir
/bin:
$PATH
"
RBENV_ROOT
=
"
$HOME
/.rbenv"
FOUND_RBENV
=
1
fi
break
fi
done
fi
fi
for
rbenvdir
in
"
${
rbenvdirs
[@]
}
"
;
do
if
[[
$FOUND_RBENV
-ne
1
]]
;
then
if
[
-d
$rbenvdir
/bin
-a
$FOUND_RBENV
-eq
0
]
;
then
if
((
$+
commands[brew]
))
&&
dir
=
$(
brew
--prefix
rbenv 2>/dev/null
)
;
then
FOUND_RBENV
=
1
if
[[
-d
$dir
/bin
]]
;
then
if
[[
$RBENV_ROOT
=
''
]]
;
then
export
PATH
=
"
$dir
/bin:
$PATH
"
RBENV_ROOT
=
$rbenvdir
FOUND_RBENV
=
1
fi
fi
fi
export
RBENV_ROOT
fi
export
PATH
=
${
rbenvdir
}
/bin:
$PATH
if
[[
$FOUND_RBENV
-eq
1
]]
;
then
eval
"
$(
rbenv init
--no-rehash
- zsh
)
"
eval
"
$(
rbenv init
--no-rehash
- zsh
)
"
alias
rubies
=
"rbenv versions"
alias
rubies
=
"rbenv versions"
alias
gemsets
=
"rbenv gemset list"
alias
gemsets
=
"rbenv gemset list"
function
current_ruby
()
{
function
current_ruby
()
{
echo
"
$(
rbenv version-name
)
"
echo
"
$(
rbenv version-name
)
"
}
}
function
current_gemset
()
{
function
current_gemset
()
{
echo
"
$(
rbenv gemset active 2&>/dev/null |
sed
-e
":a"
-e
'$ s/\n/+/gp;N;b a'
|
head
-n1
)
"
echo
"
$(
rbenv gemset active 2&>/dev/null |
sed
-e
":a"
-e
'$ s/\n/+/gp;N;b a'
|
head
-n1
)
"
}
}
function
gems
{
function
gems
()
{
local
rbenv_path
=
$(
rbenv prefix
)
local
rbenv_path
=
$(
rbenv prefix
)
gem list
$@
|
sed
-E
\
gem list
$@
|
sed
-E
\
-e
"s/
\(
[0-9a-z,
\.
]+( .+)?
\)
/
$fg
[blue]&
$reset_color
/g"
\
-e
"s/
\(
[0-9a-z,
\.
]+( .+)?
\)
/
$fg
[blue]&
$reset_color
/g"
\
-e
"s|
$(
echo
$rbenv_path
)
|
$fg
[magenta]
\$
rbenv_path
$reset_color
|g"
\
-e
"s|
$(
echo
$rbenv_path
)
|
$fg
[magenta]
\$
rbenv_path
$reset_color
|g"
\
-e
"s/
$current_ruby
@global/
$fg
[yellow]&
$reset_color
/g"
\
-e
"s/
$current_ruby
@global/
$fg
[yellow]&
$reset_color
/g"
\
-e
"s/
$current_ruby$current_gemset$/$fg
[green]&
$reset_color
/g"
-e
"s/
$current_ruby$current_gemset$/$fg
[green]&
$reset_color
/g"
}
}
function
rbenv_prompt_info
()
{
function
rbenv_prompt_info
()
{
if
[[
-n
$(
current_gemset
)
]]
;
then
if
[[
-n
$(
current_gemset
)
]]
;
then
echo
"
$(
current_ruby
)
@
$(
current_gemset
)
"
echo
"
$(
current_ruby
)
@
$(
current_gemset
)
"
else
else
echo
"
$(
current_ruby
)
"
echo
"
$(
current_ruby
)
"
fi
fi
}
}
fi
else
done
alias
rubies
=
"ruby -v"
unset
rbenvdir
function
gemsets
()
{
echo
"not supported"
}
function
current_ruby
()
{
echo
"not supported"
}
if
[
$FOUND_RBENV
-eq
0
]
;
then
function
current_gemset
()
{
echo
"not supported"
}
alias
rubies
=
'ruby -v'
function
gems
()
{
echo
"not supported"
}
function
gemsets
()
{
echo
'not supported'
}
function
rbenv_prompt_info
()
{
echo
"system:
$(
ruby
-v
|
cut
-f-2
-d
' '
)
"
}
function
rbenv_prompt_info
()
{
echo
"system:
$(
ruby
-v
|
cut
-f-2
-d
' '
)
"
}
fi
fi
unset
FOUND_RBENV rbenvdirs
dir
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment