This commit is contained in:
Michal Cichra 2017-11-06 14:53:07 +00:00 committed by GitHub
commit a4fbdff727

View file

@ -20,10 +20,6 @@ _homebrew-installed() {
whence brew &> /dev/null whence brew &> /dev/null
} }
_chruby-from-homebrew-installed() {
[ -r $(brew --prefix chruby) ] &> /dev/null
}
_ruby-build_installed() { _ruby-build_installed() {
whence ruby-build &> /dev/null whence ruby-build &> /dev/null
} }
@ -34,57 +30,51 @@ _ruby-install-installed() {
# Simple definition completer for ruby-build # Simple definition completer for ruby-build
if _ruby-build_installed; then if _ruby-build_installed; then
_ruby-build() { compadd $(ruby-build --definitions) } _ruby-build() {
compadd $(ruby-build --definitions)
}
compdef _ruby-build ruby-build compdef _ruby-build ruby-build
fi fi
_source_from_omz_settings() { function () {
local _chruby_path local _path
local _chruby_auto local _auto
local _prefix="/usr/local/share/chruby"
zstyle -s :omz:plugins:chruby path _chruby_path # Honor explicit user preference
zstyle -s :omz:plugins:chruby auto _chruby_auto zstyle -s :omz:plugins:chruby path _path
zstyle -s :omz:plugins:chruby auto _auto
if [[ -r ${_chruby_path} ]]; then # Default to /usr/local/share/chruby if either is not defined
source ${_chruby_path} [[ -r "$_path" ]] || _path="${_prefix}/chruby.sh"
fi [[ -r "$_auto" ]] || _auto="${_prefix}/auto.sh"
if [[ -r ${_chruby_auto} ]]; then # Fall back on homebrew
source ${_chruby_auto} if [[ ! ( -r "$_path" && -r "$_auto" ) ]]; then
fi if _homebrew-installed; then
} _prefix="$(brew --prefix chruby 2> /dev/null)/share/chruby"
[[ -r "$_path" ]] || _path="${_prefix}/chruby.sh"
_chruby_dirs() { [[ -r "$_auto" ]] || _auto="${_prefix}/auto.sh"
chrubydirs=($HOME/.rubies/ $PREFIX/opt/rubies)
for dir in chrubydirs; do
if [[ -d $dir ]]; then
RUBIES+=$dir
fi fi
done fi
}
if _homebrew-installed && _chruby-from-homebrew-installed ; then if [[ -r "$_path" ]]; then
source $(brew --prefix chruby)/share/chruby/chruby.sh source "$_path"
source $(brew --prefix chruby)/share/chruby/auto.sh fi
_chruby_dirs
elif [[ -r "/usr/local/share/chruby/chruby.sh" ]] ; then if [[ -r "$_auto" ]]; then
source /usr/local/share/chruby/chruby.sh source "$_auto"
source /usr/local/share/chruby/auto.sh fi
_chruby_dirs }
else
_source_from_omz_settings
_chruby_dirs
fi
function ensure_chruby() { function ensure_chruby() {
$(whence chruby) $(whence chruby)
} }
function current_ruby() { function current_ruby() {
local _ruby local _ruby="$(chruby | grep \* | tr -d '* ')"
_ruby="$(chruby |grep \* |tr -d '* ')" if [[ -n "$_ruby" ]]; then
if [[ $(chruby |grep -c \*) -eq 1 ]]; then echo "$_ruby"
echo ${_ruby}
else else
echo "system" echo "system"
fi fi