# Register a delimiter processor
private fun add_delimiter_processor(delimiter_processor: MdDelimiterProcessor, map: Map[Char, MdDelimiterProcessor]) do
var opening = delimiter_processor.opening_delimiter
var closing = delimiter_processor.closing_delimiter
if opening == closing then
if map.has_key(opening) then
var old = map[opening]
if old.opening_delimiter == old.closing_delimiter then
var s: MdStaggeredDelimiterProcessor
if old isa MdStaggeredDelimiterProcessor then
s = old
else
s = new MdStaggeredDelimiterProcessor(opening)
s.add old
end
s.add delimiter_processor
map[opening] = s
else
add_delimiter_processor_for_char(opening, delimiter_processor, map)
end
else
add_delimiter_processor_for_char(opening, delimiter_processor, map)
end
else
add_delimiter_processor_for_char(opening, delimiter_processor, map)
add_delimiter_processor_for_char(closing, delimiter_processor, map)
end
end
lib/markdown2/markdown_inline_parsing.nit:44,2--71,4