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
66a33b80
Commit
66a33b80
authored
Nov 24, 2013
by
Robby Russell
Browse files
Merge pull request #2261 from webframp/feature/chruby-plugin
Add simple plugin for chruby ruby version manager
parents
fabe23bb
037b39a8
Changes
1
Hide whitespace changes
Inline
Side-by-side
plugins/chruby/chruby.plugin.zsh
0 → 100644
View file @
66a33b80
#
# INSTRUCTIONS
#
# With either a manual or brew installed chruby things should just work.
#
# If you'd prefer to specify an explicit path to load chruby from
# you can set variables like so:
#
# zstyle :omz:plugins:chruby path /local/path/to/chruby.sh
# zstyle :omz:plugins:chruby auto /local/path/to/auto.sh
#
# TODO
# - autodetermine correct source path on non OS X systems
# - completion if ruby-install exists
# rvm and rbenv plugins also provide this alias
alias
rubies
=
'chruby'
local
_chruby_path
local
_chruby_auto
_homebrew-installed
()
{
whence brew &> /dev/null
}
_chruby-from-homebrew-installed
()
{
brew
--prefix
chruby &> /dev/null
}
_ruby-build_installed
()
{
whence ruby-build &> /dev/null
}
_ruby-install-installed
()
{
whence ruby-install &> /dev/null
}
# Simple definition completer for ruby-build
if
_ruby-build_installed
;
then
_ruby-build
()
{
compadd
$(
ruby-build
--definitions
)
}
compdef _ruby-build ruby-build
fi
_source_from_omz_settings
()
{
zstyle
-s
:omz:plugins:chruby path _chruby_path
zstyle
-s
:omz:plugins:chruby auto _chruby_auto
if
_chruby_path
&&
[[
-r
_chruby_path
]]
;
then
source
${
_chruby_path
}
fi
if
_chruby_auto
&&
[[
-r
_chruby_auto
]]
;
then
source
${
_chruby_auto
}
fi
}
_chruby_dirs
()
{
chrubydirs
=(
$HOME
/.rubies/
$PREFIX
/opt/rubies
)
for
dir
in
chrubydirs
;
do
if
[[
-d
$dir
]]
;
then
RUBIES+
=
$dir
fi
done
}
if
_homebrew-installed
&&
_chruby-from-homebrew-installed
;
then
source
$(
brew
--prefix
chruby
)
/share/chruby/chruby.sh
source
$(
brew
--prefix
chruby
)
/share/chruby/auto.sh
_chruby_dirs
elif
[[
-r
"/usr/local/share/chruby/chruby.sh"
]]
;
then
source
/usr/local/share/chruby/chruby.sh
source
/usr/local/share/chruby/auto.sh
_chruby_dirs
else
_source_from_omz_settings
_chruby_dirs
fi
function
ensure_chruby
()
{
$(
whence chruby
)
}
function
current_ruby
()
{
local
_ruby
_ruby
=
"
$(
chruby |grep
\*
|tr
-d
'* '
)
"
if
[[
$(
chruby |grep
-c
\*
)
-eq
1
]]
;
then
echo
${
_ruby
}
else
echo
"system"
fi
}
function
chruby_prompt_info
()
{
echo
"
$(
current_ruby
)
"
}
# complete on installed rubies
_chruby
()
{
compadd
$(
chruby |
tr
-d
'* '
)
}
compdef _chruby chruby
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