def haml_internal_concat(text = "", newline = true, indent = true)
      if haml_buffer.tabulation == 0
        haml_buffer.buffer << "#{text}#{"\n" if newline}"
      else
        haml_buffer.buffer << %[#{haml_indent if indent}#{text.to_s.gsub("\n", "\n#{haml_indent}")}#{"\n" if newline}]
      end
    end
def haml_internal_concat(text = "", newline = true, indent = true)
      if haml_buffer.tabulation == 0
        haml_buffer.buffer << "#{text}#{"\n" if newline}"
      else
        haml_buffer.buffer << %[#{haml_indent if indent}#{text.to_s.gsub("\n", "\n#{haml_indent}")}#{"\n" if newline}]
      end
    end
Internal method to write directly to the buffer with control of
 whether the first line should be indented, and if there should be a
 final newline.

 Lines added will have the proper indentation. This can be controlled
 for the first line.

 Used by #haml_concat and #haml_tag.

 @param text [#to_s] The text to output
 @param newline [Boolean] Whether to add a newline after the text
 @param indent [Boolean] Whether to add indentation to the first line