12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 |
- ## load chruby from different locations
- _source-from-omz-settings() {
- local _chruby_path _chruby_auto
-
- zstyle -s :omz:plugins:chruby path _chruby_path || return 1
- zstyle -s :omz:plugins:chruby auto _chruby_auto || return 1
- if [[ -r ${_chruby_path} ]]; then
- source ${_chruby_path}
- fi
- if [[ -r ${_chruby_auto} ]]; then
- source ${_chruby_auto}
- fi
- }
- _source-from-homebrew() {
- (( $+commands[brew] )) || return 1
- local _brew_prefix
- # check default brew prefix
- if [[ -h /usr/local/opt/chruby ]];then
- _brew_prefix="/usr/local/opt/chruby"
- else
- # ok , it is not default prefix
- # this call to brew is expensive ( about 400 ms ), so at least let's make it only once
- _brew_prefix=$(brew --prefix chruby)
- fi
- [[ -r "$_brew_prefix" ]] || return 1
- source $_brew_prefix/share/chruby/chruby.sh
- source $_brew_prefix/share/chruby/auto.sh
- }
- _load-chruby-dirs() {
- local dir
- for dir in "$HOME/.rubies" "$PREFIX/opt/rubies"; do
- if [[ -d "$dir" ]]; then
- RUBIES+=("$dir")
- fi
- done
- }
- # Load chruby
- if _source-from-omz-settings; then
- _load-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
- _load-chruby-dirs
- elif _source-from-homebrew; then
- _load-chruby-dirs
- fi
- unfunction _source-from-homebrew _source-from-omz-settings _load-chruby-dirs
- ## chruby utility functions and aliases
- # rvm and rbenv plugins also provide this alias
- alias rubies='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):gs/%/%%}"
- }
- # Complete chruby command with installed rubies
- _chruby() {
- compadd $(chruby | tr -d '* ')
- if PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" command ruby &>/dev/null; then
- compadd system
- fi
- }
- compdef _chruby chruby
- # Simple definition completer for ruby-build
- if command ruby-build &> /dev/null; then
- _ruby-build() { compadd $(ruby-build --definitions) }
- compdef _ruby-build ruby-build
- fi
|