Markly SourceMarklyNodeInspect

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