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.
# 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
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
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
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
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