parseInline function
List<MdNode>
parseInline(
- String text,
- bool useDollar, [
- MarkdownDefinitions defs = MarkdownDefinitions.empty,
- MarkdownHtml? html,
Implementation
List<MdNode> parseInline(
String text,
bool useDollar, [
MarkdownDefinitions defs = MarkdownDefinitions.empty,
MarkdownHtml? html,
]) {
final n = text.length;
// Most runs of an assistant's prose contain no markup at all. Finding that
// out costs one scan, and skips the parse entirely.
var plainUntil = 0;
while (plainUntil < n && _isPlain(text, plainUntil)) {
plainUntil += 1;
}
if (plainUntil == n) {
return n == 0 ? <MdNode>[] : <MdNode>[MdText(text: text)];
}
return _InlineParser(
text,
useDollar,
defs,
html ?? MarkdownHtml.defaults,
).parse();
}