@shacker Hrmm, reading in an entire file into a string, and then removing large potions of it with the start and end comments seem overly expensive. Can i convince you to maybe refine this function into "read_colors_vars_from-file"?

As starters, you might want to look at something like this:

section = nil
File.open(filename, "r").each_line do |line|
  //next if section.nil? && line != "<the start sass color vars comment>"
  //break if section.isArray? && line == "<the end sass color vars comment>"
  if line == <start sass color vars comment>
    section = [] 
  end
  //do something useful with the content between the columns (maybe just write them out into the array for now)
end

You should probably double check my pseudocode logic, but this should allow you to only read in the chunk you need, not have to split across ';' and then completely separate the concerns of getting styles from an array of raw input vs parsing out interesting pieces of a file.