parseInline function

List<MdNode> parseInline(
  1. String text,
  2. bool useDollar, [
  3. MarkdownDefinitions defs = MarkdownDefinitions.empty,
  4. 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();
}