Parses as p, but discards the result.
Instances For
Match an arbitrary Parser and return the consumed String in a Syntax.atom.
Instances For
Construct a “fake” atom with the given string content and source information.
Normally, atoms are always substrings of the original input; however, Verso's concrete syntax is different enough from Lean's that this isn't always a good match.
Instances For
Ordered lists may have two styles of indicator, with trailing dots or parentheses.
- numDot : OrderedListType
Items like 1.
- parenAfter : OrderedListType
Items like 1)
Instances For
Instances For
Unordered lists may have three indicators: asterisks, dashes, or pluses.
- asterisk : UnorderedListType
Items like *
- dash : UnorderedListType
Items like -
- plus : UnorderedListType
Items like +
Instances For
Instances For
Instances For
Parses a character that's allowed as part of inline text. This resolves escaped characters and performs limited lookahead for characters that only begin a different inline as part of a sequence.
Instances For
Parses block opener prefixes. At the beginning of the line, if this parser succeeds, then a special block is beginning.
Instances For
Parses an argument value, which may be a string literal, identifier, or numeric literal.
Instances For
Recovers from a parse error by skipping input until one or more complete blank lines has been skipped.
Instances For
Parses an argument to a role, directive, command, or code block, which may be named or positional or a flag.
Instances For
Parses zero or more arguments to a role, directive, command, or code block.
Instances For
Parses a name and zero or more arguments to a role, directive, command, or code block.
Instances For
The context within which a newline element is parsed.
- allowNewlines : Bool
Are newlines allowed here?
- minIndent : Nat
The minimum indentation of a continuation line for the current paragraph
How many asterisks introduced the current level of boldness?
nonemeans no bold here.How many underscores introduced the current level of emphasis?
nonemeans no emphasis here.- inLink : Bool
Are we in a link?
Instances For
Parses emphasis: a matched pair of one or more _.
Parses bold: a matched pair of one or more *.
Reads a prefix of a line of text, stopping at a text-mode special character.
Instances For
Parses a footnote.
Instances For
Parses an inline that is self-delimiting (that is, with well-defined start and stop characters).
Parses any inline element.
A non-meta copy of Lean.Doc.Syntax.metadataContents.
Instances For
Records that the parser is presently parsing a list.
- indentation : Nat
The indentation of list indicators.
The specific list type and its indicator style
Instances For
The context within which a block should be valid.
- minIndent : Nat
The block's minimum indentation.
The block's maximal directive size (that is, the greatest number of allowed colons).
The nested list context, innermost first.
- docStartPosition : Position
The position at which the document content starts, used to allow headers on the first line of a docstring (e.g.
/-! # Header -/). With the default value⟨1, 0⟩, the beginning-of-line check is unaffected for normal documents. - baseColumn : Nat
The base column of the docstring, which is the least indentation of any non-empty line in it, including the opening and closing delimiters. For indented docstrings (e.g. inside
whereblocks), beginning-of-line checks use this column instead of requiring column 0. With the default value 0, the check is equivalent tocolumn == 0.
Instances For
Computes the BlockCtxt for parsing a docstring that starts at startPos in the given file map.
endPos is the position of the - in the closing delimiter. When the docstring content starts
mid-line (e.g. /-! # Header -/), the docStartPosition is set to the position after any leading
spaces so that headers on the first line are recognized. For indented docstrings, baseColumn is
computed as the minimum column among the opening delimiter, closing delimiter, and the least-indented
non-empty content line.
Instances For
Parses a metadata block, which contains the contents of a Lean structure initialization but is
surrounded by %%% on each side.
Instances For
Succeeds when the parser is looking at an ordered list indicator.
Instances For
Succeeds when the parser is looking at an unordered list indicator.
Instances For
Parses a list item according to the current nesting context.
Parses an item from a description list.
Parses a block quote.
Parses an unordered list.
Parses an ordered list.
Parses a definition list.
Parses a paragraph (that is, a sequence of otherwise-undecorated inlines).
Instances For
Parses a code block. The resulting string literal has already had the fences' leading indentation stripped.
Instances For
Parses a block command.
Instances For
Parses a link reference target.
Instances For
Parses a footnote reference target.
Instances For
Parses zero or more blocks.
Parses one or more blocks.
Parses some number of blank lines followed by zero or more blocks.
Instances For
Parses as ifVerso if the option doc.verso is true, or as ifNotVerso otherwise.
Instances For
Parses as ifVerso if the option doc.verso is true, or as ifNotVerso otherwise.
Instances For
Formatter for ifVerso—formats according to the underlying formatters.
Instances For
Parenthesizer for ifVerso—parenthesizes according to the underlying parenthesizers.
Instances For
Parses as ifVerso if module docs should use Verso syntax, or as ifNotVerso otherwise.
Checks doc.verso.module if explicitly set, otherwise falls back to doc.verso.
Instances For
Parses as ifVerso if module docs should use Verso syntax, or as ifNotVerso otherwise.
Checks doc.verso.module if explicitly set, otherwise falls back to doc.verso.
Instances For
Formatter for ifVersoModuleDocs—formats according to the underlying formatters.
Instances For
Parenthesizer for ifVersoModuleDocs—parenthesizes according to the underlying parenthesizers.
Instances For
Disables the option doc.verso while running a parser.
Instances For
Formatter for withoutVersoSyntax—formats according to the underlying formatter.
Instances For
Parenthesizer for withoutVersoSyntax—parenthesizes according to the underlying parenthesizer.