onMatch method
Processes match
, adding nodes to parser
and possibly advancing
parser
.
Returns whether the caller should advance parser
by match[0].length
.
Implementation
@override
bool onMatch(InlineParser parser, Match match) {
var m0 = match.group(0)!;
var runLength = m0.length;
var matchStart = match.start;
var matchEnd = match.end;
var text = Text(m0);
if (!requiresDelimiterRun) {
parser.pushDelimiter(SimpleDelimiter(
node: text,
length: runLength,
char: m0.codeUnitAt(0),
canOpen: true,
canClose: false,
syntax: this,
endPos: matchEnd));
parser.addNode(text);
return true;
}
var delimiterRun = DelimiterRun.tryParse(parser, matchStart, matchEnd,
syntax: this, node: text, allowIntraWord: allowIntraWord);
if (delimiterRun != null) {
parser.pushDelimiter(delimiterRun);
parser.addNode(text);
return true;
} else {
parser.advanceBy(runLength);
return false;
}
}