diff --git a/plugins/brew/brew.load b/plugins/brew/brew.load index 03e5e6e..9a951af 100644 --- a/plugins/brew/brew.load +++ b/plugins/brew/brew.load @@ -1,18 +1,24 @@ set -l brew_paths /usr/local/bin /usr/bin /bin /usr/local/sbin /usr/sbin /sbin + +# Append all existing brew paths to PATH +set -l existing_brew_paths for brew_path in $brew_paths[-1..1] if test -d $brew_path - set PATH $brew_path $PATH + set PATH $PATH $brew_path + set existing_brew_paths $existing_brew_paths $brew_path end end -set -l local_loop 7 #7 should be a variable derived from $brew_paths count + 1 -for i in (seq (count $PATH))[7..-1] - if contains $PATH[$local_loop] $brew_paths - set -e PATH[$local_loop] - else - set local_loop (math "$local_loop + 1") +# Remove brew paths from tail to head that were not recently added +set -l existing_brew_paths_count (count $existing_brew_paths_count + 1) +for i in (seq (count $PATH))[-1..1] + if test $i -le $existing_brew_paths_count + if contains $PATH[$i] $brew_paths + set -e PATH[$i] + end end end set -e brew_paths -set -e local_loop +set -e existing_brew_paths +set -e existing_brew_paths_count