codeSpan method

Parser<CodeSpanNode> codeSpan()
inherited

Inline code span delimited by single, double, or triple backticks.

Implementation

Parser<CodeSpanNode> codeSpan() => [
  seq5(
    position(),
    string('```'),
    any().starLazy(string('```')).flatten(),
    string('```'),
    position(),
  ).map5(
    (start, _, code, _, stop) =>
        CodeSpanNode(_cleanCodeSpan(code), start: start, stop: stop),
  ),
  seq5(
    position(),
    string('``'),
    any().starLazy(string('``')).flatten(),
    string('``'),
    position(),
  ).map5(
    (start, _, code, _, stop) =>
        CodeSpanNode(_cleanCodeSpan(code), start: start, stop: stop),
  ),
  seq5(
    position(),
    char('`'),
    noneOf('`\r\n').plusString(),
    char('`'),
    position(),
  ).map5(
    (start, _, code, _, stop) =>
        CodeSpanNode(_cleanCodeSpan(code), start: start, stop: stop),
  ),
].toChoiceParser();