class Temple::ERB::Trimming

@api public
> - omit newline for lines ending in %>
<> - omit newline for lines starting with <% and ending in %>
Set option :trim_mode to
ERB trimming

def code?(exp)

def code?(exp)
  exp[0] == :escape || exp[0] == :code
end

def on_multi(*exps)

def on_multi(*exps)
  case options[:trim_mode]
  when '>'
    i = 0
    while i < exps.size
      exps.delete_at(i + 1) if code?(exps[i]) && exps[i+1] == [:static, "\n"]
      i += 1
    end
  when '<>'
    i = 0
    while i < exps.size
      exps.delete_at(i + 1) if code?(exps[i]) && exps[i+1] == [:static, "\n"] &&
                               (!exps[i-1] || (exps[i-1] == [:newline]))
      i += 1
    end
  end
  [:multi, *exps]
end