#[non_exhaustive]pub struct State<'a> {Show 17 fields
pub newlines_before_start: usize,
pub list_stack: Vec<Option<u64>>,
pub padding: Vec<Cow<'a, str>>,
pub table_alignments: Vec<Alignment>,
pub table_headers: Vec<String>,
pub text_for_header: Option<String>,
pub code_block: Option<CodeBlockKind>,
pub last_was_text_without_trailing_newline: bool,
pub last_was_paragraph_start: bool,
pub next_is_link_like: bool,
pub link_stack: Vec<LinkCategory<'a>>,
pub image_stack: Vec<ImageLink<'a>>,
pub current_heading: Option<Heading<'a>>,
pub in_table_cell: bool,
pub current_shortcut_text: Option<String>,
pub shortcuts: Vec<(String, String, String)>,
pub last_event_end_index: usize,
}
Expand description
The state of the cmark_resume()
and cmark_resume_with_options()
functions.
This does not only allow introspection, but enables the user
to halt the serialization at any time, and resume it later.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.newlines_before_start: usize
The amount of newlines to insert after Event::Start(...)
list_stack: Vec<Option<u64>>
The lists and their types for which we have seen a Event::Start(List(...))
tag
padding: Vec<Cow<'a, str>>
The computed padding and prefix to print after each newline.
This changes with the level of BlockQuote
and List
events.
table_alignments: Vec<Alignment>
Keeps the current table alignments, if we are currently serializing a table.
table_headers: Vec<String>
Keeps the current table headers, if we are currently serializing a table.
text_for_header: Option<String>
The last seen text when serializing a header
code_block: Option<CodeBlockKind>
Is set while we are handling text in a code block
last_was_text_without_trailing_newline: bool
True if the last event was text and the text does not have trailing newline. Used to inject additional newlines before code block end fence.
last_was_paragraph_start: bool
True if the last event was a paragraph start. Used to escape spaces at start of line (prevent spurrious indented code).
next_is_link_like: bool
True if the next event is a link, image, or footnote.
link_stack: Vec<LinkCategory<'a>>
Currently open links
image_stack: Vec<ImageLink<'a>>
Currently open images
current_heading: Option<Heading<'a>>
Keeps track of the last seen heading’s id, classes, and attributes
in_table_cell: bool
True whenever between Start(TableCell)
and End(TableCell)
current_shortcut_text: Option<String>
Keeps track of the last seen shortcut/link
shortcuts: Vec<(String, String, String)>
A list of shortcuts seen so far for later emission
last_event_end_index: usize
Index into the source
bytes of the end of the range corresponding to the last event.
It’s used to see if the current event didn’t capture some bytes because of a skipped-over backslash.