block method

Parser<BlockNode> block()

Implementation

Parser<BlockNode> block() =>
    seq3(ref1(token, '['), ref0(blockBody), ref1(token, ']')).map3((
      open,
      bodyInfo,
      close,
    ) {
      final (args, body) = bodyInfo;
      final (arguments, separator) = args;
      final result = BlockNode(body)..surroundWith(open, close);
      result.arguments.addAll(arguments);
      if (separator != null) {
        result.separators.add(separator);
      }
      return result;
    });