This allows implementations to decide how many characters to use based on the properties of the delimiter runs.
An implementation can also return 0 when it doesn't want to allow this particular combination of delimiter runs.
# Determine how many (if any) of the delimiter characters should be used
#
# This allows implementations to decide how many characters to use based on the
# properties of the delimiter runs.
#
# An implementation can also return 0 when it doesn't want to allow this particular
# combination of delimiter runs.
fun delimiter_use(opener, closer: MdDelimiter): Int is abstract
lib/markdown2/markdown_inline_parsing.nit:1140,2--1147,64
redef fun delimiter_use(opener, closer) do
return find_processor(opener.length).delimiter_use(opener, closer)
end
lib/markdown2/markdown_inline_parsing.nit:1287,2--1289,4
redef fun delimiter_use(opener, closer) do
# "multiple of 3" rule for internal delimiter runs
if (opener.can_close or closer.can_open) and
((opener.original_length + closer.original_length) % 3 == 0) then
return 0
end
# calculate actual number of delimiters used from this closer
if opener.length >= 2 and closer.length >= 2 then
return 2
end
return 1
end
lib/markdown2/markdown_inline_parsing.nit:1307,2--1318,4
redef fun delimiter_use(opener, closer) do return opener.original_length
lib/markdown2/markdown_github.nit:62,2--73
redef fun delimiter_use(opener, closer) do return opener.original_length
lib/markdown2/markdown_github.nit:94,2--73