class Haml::Precompiler::Line
def tabs
def tabs line = self @tabs ||= precompiler.instance_eval do break 0 if line.text.empty? || !(whitespace = line.full[/^\s+/]) if @indentation.nil? @indentation = whitespace if @indentation.include?(?\s) && @indentation.include?(?\t) raise SyntaxError.new("Indentation can't use both tabs and spaces.", line.index) end @flat_spaces = @indentation * @template_tabs if flat? break 1 end tabs = whitespace.length / @indentation.length break tabs if whitespace == @indentation * tabs break @template_tabs if flat? && whitespace =~ /^#{@indentation * @template_tabs}/ raise SyntaxError.new(<<END.strip.gsub("\n", ' '), line.index) istent indentation: #{Haml::Shared.human_indentation whitespace, true} used for indentation, e rest of the document was indented using #{Haml::Shared.human_indentation @indentation}. end end