MarklySourceMarklyNodeInspect

module Inspect

Definitions

def pretty_print(printer)

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