onMatchEnd method
Implementation
bool onMatchEnd(InlineParser parser, Match match, TagState state) {
final runLength = match.group(0)!.length;
final matchStart = parser.pos;
final matchEnd = parser.pos + runLength - 1;
final openingRunLength = state.endPos - state.startPos;
final delimiterRun = _DelimiterRun.tryParse(parser, matchStart, matchEnd);
if (openingRunLength == 1 && runLength == 1) {
parser.addNode(Element('em', state.children));
} else if (openingRunLength == 1 && runLength > 1) {
parser
..addNode(Element('em', state.children))
..pos = parser.pos - (runLength - 1)
..start = parser.pos;
} else if (openingRunLength > 1 && runLength == 1) {
parser
..openTag(TagState(state.startPos, state.endPos - 1, this, delimiterRun))
..addNode(Element('em', state.children));
} else if (openingRunLength == 2 && runLength == 2) {
parser.addNode(Element('strong', state.children));
} else if (openingRunLength == 2 && runLength > 2) {
parser
..addNode(Element('strong', state.children))
..pos = parser.pos - (runLength - 2)
..start = parser.pos;
} else if (openingRunLength > 2 && runLength == 2) {
parser
..openTag(TagState(state.startPos, state.endPos - 2, this, delimiterRun))
..addNode(Element('strong', state.children));
} else if (openingRunLength > 2 && runLength > 2) {
parser
..openTag(TagState(state.startPos, state.endPos - 2, this, delimiterRun))
..addNode(Element('strong', state.children))
..pos = parser.pos - (runLength - 2)
..start = parser.pos;
}
return true;
}