Process the matched delimiters

For example, by wrapping the nodes between opener and closer in a new node, or appending a new node after the opener.

Note that removal of the delimiter from the delimiter nodes and unlinking them is done by the caller.

Property definitions

markdown2 $ MdDelimiterProcessor :: process
	# Process the matched delimiters
	#
	# For example, by wrapping the nodes between `opener` and `closer` in a new node,
	# or appending a new node after the opener.
	#
	# Note that removal of the delimiter from the delimiter nodes and unlinking
	# them is done by the caller.
	fun process(opener, closer: MdText, delimiter_use: Int) is abstract
lib/markdown2/markdown_inline_parsing.nit:1149,2--1156,68

markdown2 $ MdStaggeredDelimiterProcessor :: process
	redef fun process(opener, closer, delimiter_use) do
		find_processor(delimiter_use).process(opener, closer, delimiter_use)
	end
lib/markdown2/markdown_inline_parsing.nit:1291,2--1293,4

markdown2 $ MdEmphasisDelimiterProcessor :: process
	redef fun process(opener, closer, delimiter_use) do
		var single_delimiter = opening_delimiter.to_s
		var emphasis: MdNode
		if delimiter_use == 1 then
			emphasis = new MdEmphasis(
				new MdLocation(
					opener.location.line_start,
					opener.location.column_start,
					closer.location.line_end,
					closer.location.column_end),
				single_delimiter)
		else
			emphasis = new MdStrongEmphasis(
				new MdLocation(
					opener.location.line_start,
					opener.location.column_start + opener.literal.length,
					closer.location.line_end,
					closer.location.column_end - closer.literal.length),
				"{single_delimiter}{single_delimiter}")
		end
		var tmp = opener.next
		while tmp != null and tmp != closer do
			var next = tmp.next
			emphasis.append_child(tmp)
			tmp = next
		end
		opener.insert_after(emphasis)
	end
lib/markdown2/markdown_inline_parsing.nit:1320,2--1347,4

markdown2 $ MdStrikeProcessor :: process
	redef fun process(opener, closer, delimiter_use) do
		var node = new MdStrike(
				new MdLocation(
					opener.location.line_start,
					opener.location.column_start,
					closer.location.line_end,
					closer.location.column_end),
			opening_delimiter.to_s * delimiter_use)
		var tmp = opener.next
		while tmp != null and tmp != closer do
			var next = tmp.next
			node.append_child(tmp)
			tmp = next
		end
		opener.insert_after(node)
	end
lib/markdown2/markdown_github.nit:64,2--79,4

markdown2 $ MdSuperProcessor :: process
	redef fun process(opener, closer, delimiter_use) do
		var node = new MdSuper(
			new MdLocation(
				opener.location.line_start,
				opener.location.column_start,
				closer.location.line_end,
				closer.location.column_end),
			opening_delimiter.to_s * delimiter_use)
		var tmp = opener.next
		while tmp != null and tmp != closer do
			var next = tmp.next
			node.append_child(tmp)
			tmp = next
		end
		opener.insert_after(node)
	end
lib/markdown2/markdown_github.nit:96,2--111,4