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
  if test -d $brew_path
    set PATH $PATH $brew_path
    set existing_brew_paths $existing_brew_paths $brew_path
  end
end

# Remove brew paths from tail to head that were not recently added
set -l number_of_paths_to_ignore (math (count $PATH) - (count $existing_brew_paths))
for i in (seq (count $PATH))[-1..1]
  if test $i -le $number_of_paths_to_ignore
    if contains $PATH[$i] $brew_paths
      set -e PATH[$i]
    end
  end
end

set -e brew_paths
set -e existing_brew_paths
set -e existing_brew_paths_count
