correctly adding sorted brew paths

This commit is contained in:
Bruno Pinto 2014-11-23 18:47:07 +11:00
parent cf5b5abadc
commit 02529d7aca

View File

@ -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