class Haml::Parser

def silent_script(text)

def silent_script(text)
  return haml_comment(text[2..-1]) if text[1] == SILENT_COMMENT
  raise SyntaxError.new(Error.message(:no_end), @index - 1) if text[1..-1].strip == "end"
  text = handle_ruby_multiline(text)
  keyword = block_keyword(text)
  if ["if", "case", "unless"].include?(keyword)
    @script_level_stack.push(@line.tabs)
    @tab_up = true
  end
  if ["else", "elsif"].include?(keyword)
    if @script_level_stack.empty?
      raise Haml::SyntaxError.new(Error.message(:missing_if, keyword), @line.index)
    elsif @script_level_stack.last != @line.tabs
      message = Error.message(:bad_script_indent, keyword, @script_level_stack.last, @line.tabs)
      raise Haml::SyntaxError.new(message, @line.index)
    end
  end
  ParseNode.new(:silent_script, @index,
    :text => text[1..-1], :keyword => keyword)
end