class Haml::Parser

def compute_tabs(line)

def compute_tabs(line)
  return 0 if line.text.empty? || !line.whitespace
  if @indentation.nil?
    @indentation = line.whitespace
    if @indentation.include?(?\s) && @indentation.include?(?\t)
      raise SyntaxError.new(Error.message(:cant_use_tabs_and_spaces), line.index)
    end
    @flat_spaces = @indentation * (@template_tabs+1) if flat?
    return 1
  end
  tabs = line.whitespace.length / @indentation.length
  return tabs if line.whitespace == @indentation * tabs
  return @template_tabs + 1 if flat? && line.whitespace =~ /^#{@flat_spaces}/
  message = Error.message(:inconsistent_indentation,
    human_indentation(line.whitespace),
    human_indentation(@indentation)
  )
  raise SyntaxError.new(message, line.index)
end