diff options
| author | Dennis Dashkevich <dskecse@gmail.com> | 2025-08-26 05:51:00 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-26 10:51:00 +0800 |
| commit | 266bc17ab3587920a7a98262c78dc5a026583bf3 (patch) | |
| tree | d233c057acd2e4f660b719098b0c00c1d8e92df1 /plugins/chruby | |
| parent | b95022dde6a200ba3dbb96c8b997ba74d8db0136 (diff) | |
| download | zsh-266bc17ab3587920a7a98262c78dc5a026583bf3.tar.gz zsh-266bc17ab3587920a7a98262c78dc5a026583bf3.tar.bz2 zsh-266bc17ab3587920a7a98262c78dc5a026583bf3.zip | |
fix(chruby): avoid adding PATH entries twice (#12980)
Diffstat (limited to 'plugins/chruby')
| -rw-r--r-- | plugins/chruby/chruby.plugin.zsh | 32 |
1 files changed, 13 insertions, 19 deletions
diff --git a/plugins/chruby/chruby.plugin.zsh b/plugins/chruby/chruby.plugin.zsh index 06afef189..1bcc6c6d9 100644 --- a/plugins/chruby/chruby.plugin.zsh +++ b/plugins/chruby/chruby.plugin.zsh @@ -15,6 +15,13 @@ _source-from-omz-settings() { fi } +_source-from-default-location() { + [[ -r /usr/local/share/chruby/chruby.sh ]] || return 1 + + source /usr/local/share/chruby/chruby.sh + source /usr/local/share/chruby/auto.sh +} + _source-from-homebrew() { (( $+commands[brew] )) || return 1 @@ -36,27 +43,14 @@ _source-from-homebrew() { 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 +_source-from-omz-settings || \ + _source-from-default-location || \ + _source-from-homebrew -unfunction _source-from-homebrew _source-from-omz-settings _load-chruby-dirs +unfunction _source-from-homebrew \ + _source-from-default-location \ + _source-from-omz-settings ## chruby utility functions and aliases |
