fencedCodeBlockBacktick method

Parser<FencedCodeBlockNode> fencedCodeBlockBacktick()
inherited

Implementation

Parser<FencedCodeBlockNode> fencedCodeBlockBacktick() =>
    seq7(
      position(),
      ref0(nonIndentSpace),
      string('```'),
      noneOf('`\r\n').starString(),
      ref0(newlineSequence),
      any()
          .starLazy(
            seq3(
              ref0(nonIndentSpace),
              string('```'),
              seq2(
                ref0(sp),
                [ref0(newlineSequence), endOfInput()].toChoiceParser(),
              ),
            ),
          )
          .flatten(),
      seq4(
        ref0(nonIndentSpace),
        string('```'),
        seq2(
          ref0(sp),
          [ref0(newlineSequence), endOfInput()].toChoiceParser(),
        ),
        position(),
      ),
    ).map7((start, _, _, infoRaw, _, code, close) {
      final info = infoRaw.trim();
      final stop = close.$4;
      return FencedCodeBlockNode(
        code,
        info: info.isEmpty ? null : info,
        start: start,
        stop: stop,
      );
    });