visitElementBefore method

  1. @override
void visitElementBefore(
  1. Element element
)

Called when an Element has been reached, before its children have been visited.

Implementation

@override
void visitElementBefore(md.Element element) {
  final label = element.textContent;
  final children = element.children;
  if (children == null ||
      children.length == 1 && children.single is md.Text) {
    return;
  }

  // flutter_markdown_plus replaces only the first parsed inline child with
  // a custom builder result. Flatten labels such as `prompt_input.dart`
  // first so emphasis-like fragments cannot remain beside the file chip.
  children
    ..clear()
    ..add(md.Text(label));
}