Luce::BlockParser
Inherits Reference < Object
Maintains the internal state needed to parse a series of lines into blocks of Markdown suitable for further inline parsing.
Constructors
Instance methods
Advance the reading position by one line
The enabled block syntaxes
To turn a series of lines into blocks, each of these will be tried in turn. Order matters here.
Return the current line
The BlockSyntax which is running now.
The value is nil until we found the first matched BlockSyntax.
The Markdown document this parser is parsing
Whether the parser has encountered a blank line between two block-level elements.
Whether the parser has encountered a blank line between two block-level elements.
Whether the parser has encountered a blank line between two block-level elements.
The lines from @start to @pos (inclusive), it works as a buffer for
some blocks, for example:
When the ParagraphSyntax parsing process is interrupted by the
SetextHeaderSyntax, so this structure is not a paragraph but a setext
heading, then the ParagraphSyntax#parse does not have to retreat the
reading position, it only needs to return nil, the SetextHeaderSyntax
will pick up the lines in lines_to_consume.
Return if the current line matches the given regex or not.
Return if the next line matches the given regex or not.
Return the line after the current one or nil if there is none.
The parent BlockSyntax when it is running inside a nested syntax.
Return the line that is lines_ahead lines ahead of the current
one, or nil if there is none.
Note that peek(0) is equivalent to current, and peek(1) is
equivalent to next.
The BlockSyntax which is running before the current_syntax.
Retreats the reading position by one line
Retreats the reading position by count lines.
Whether the BlockSyntax is disabled temporarily.
The collection of built-in block parsers