# Custom delimiter processor for additional delimiters besides `_` and `*`
interface MdDelimiterProcessor
# The character that marks the beginning of a delimited node
#
# Must not clash with anu built-in special characters.
fun opening_delimiter: Char is abstract
# The character that marks the ending of a delimited node
#
# Must not clash with anu built-in special characters.
fun closing_delimiter: Char is abstract
# Minimum number of delimiters characters that are needed to active this
#
# Must be at least one.
fun min_length: Int is abstract
# 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
# 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
end
lib/markdown2/markdown_inline_parsing.nit:1122,1--1157,3