tag function

Parser tag()

Implementation

Parser tag() => (tagStart() &
            ref0(identifier).trim() &
            ref0(tagContent).optional().trim() &
            ref0(filter).star().trim() &
            tagEnd())
        .map((values) {
      final name = (values[1] as Identifier).name;
      final content = collapseTextNodes(values[2] as List<ASTNode>? ?? []);
      final filters = (values[3] as List).cast<Filter>();
      final nonFilterContent =
          content.where((node) => node is! Filter).toList();
      return Tag(name, nonFilterContent, filters: filters);
    }).labeled('tag');