Package-level declarations
Types
Recognizes an inline fragment of code. The opening and closing runs must have the same length, and neither may be extended by a further backtick, which is what lets a longer run wrap a shorter one.
Recognizes a single character that the rendering stage must treat specially. It is the last recognizer of every inline lexer.
Recognizes a delimiter run of asterisks, underscores or tildes. It claims the whole run without deciding anything: pairing needs the rest of the line, so it happens in the inline scanner's second pass, and a run that pairs with nothing ends up as plain text.
Recognizes a URL or an email address wrapped in angle brackets.
Recognizes a character entity. The hexadecimal marker accepts either case, and the closing semicolon is optional.
Recognizes a backslash followed by an ASCII punctuation character.
Recognizes an image: a !, an optional size in parentheses, a link, and an optional cross-reference identifier.
Recognizes a comment anywhere in a line. It shares its scanner with the block comment recognizer.
Recognizes a line break that is not at the end of a paragraph. A break preceded by two or more spaces or by a backslash is hard; any other is soft. A newline followed only by whitespace up to a line end is not a break at all, so the padding newline never is one.
Recognizes a link with its label in brackets and its destination in parentheses.
Recognizes a footnote reference, optionally carrying its whole definition.
Recognizes an image whose destination lives in a link definition.
Recognizes a link whose destination lives in a link definition. The second bracket pair and the reference inside it are both optional, so the tail always parses and the label therefore ends at its first unescaped closing bracket.
Recognizes a bare URL or email address. The scheme prefixes are matched case insensitively.