parseUntil static method

List<LatexNode> parseUntil(
  1. LatexParserContext ctx,
  2. LatexTokenStream stream,
  3. bool condition(
    1. LatexToken
    )
)

Parses a list of nodes until the condition is met.

Implementation

static List<LatexNode> parseUntil(
  LatexParserContext ctx,
  LatexTokenStream stream,
  bool Function(LatexToken) condition,
) {
  final nodes = <LatexNode>[];
  while (!stream.isEOF()) {
    final token = stream.peek();
    if (token != null && condition(token)) {
      break;
    }
    final node = ctx.parseExpression();
    if (node != null) {
      nodes.add(node);
    }
  }
  return nodes;
}