class Haml::Parser

def process_line(line)

adds the appropriate code to `@precompiled`.
This method doesn't return anything; it simply processes the line and

Processes a single line of Haml.
def process_line(line)
  case line.text[0]
  when DIV_CLASS; push div(line)
  when DIV_ID
    return push plain(line) if %w[{ @ $].include?(line.text[1])
    push div(line)
  when ELEMENT; push tag(line)
  when COMMENT; push comment(line.text[1..-1].lstrip)
  when SANITIZE
    return push plain(line.strip!(3), :escape_html) if line.text[1, 2] == '=='
    return push script(line.strip!(2), :escape_html) if line.text[1] == SCRIPT
    return push flat_script(line.strip!(2), :escape_html) if line.text[1] == FLAT_SCRIPT
    return push plain(line.strip!(1), :escape_html) if line.text[1] == ?\s || line.text[1..2] == '#{'
    push plain(line)
  when SCRIPT
    return push plain(line.strip!(2)) if line.text[1] == SCRIPT
    line.text = line.text[1..-1]
    push script(line)
  when FLAT_SCRIPT; push flat_script(line.strip!(1))
  when SILENT_SCRIPT
    return push haml_comment(line.text[2..-1]) if line.text[1] == SILENT_COMMENT
    push silent_script(line)
  when FILTER; push filter(line.text[1..-1].downcase)
  when DOCTYPE
    return push doctype(line.text) if line.text[0, 3] == '!!!'
    return push plain(line.strip!(3), false) if line.text[1, 2] == '=='
    return push script(line.strip!(2), false) if line.text[1] == SCRIPT
    return push flat_script(line.strip!(2), false) if line.text[1] == FLAT_SCRIPT
    return push plain(line.strip!(1), false) if line.text[1] == ?\s || line.text[1..2] == '#{'
    push plain(line)
  when ESCAPE
    line.text = line.text[1..-1]
    push plain(line)
  else; push plain(line)
  end
end