Implementation
def pretty_print(printer)
printer.group(PP_INDENT_SIZE, "#<#{self.class}(#{type}):", '>') do
printer.breakable
attrs = %i[
source_position
string_content
url
title
header_level
list_type
list_start
list_tight
fence_info
].map do |name|
begin
[name, __send__(name)]
rescue Error
nil
end
end.compact
printer.seplist(attrs) do |name, value|
printer.text "#{name}="
printer.pp value
end
if first_child
printer.breakable
printer.group(PP_INDENT_SIZE) do
children = []
node = first_child
while node
children << node
node = node.next
end
printer.text 'children='
printer.pp children
end
end
end
end