#[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: usizeThe 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: boolTrue 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: boolTrue if the last event was a paragraph start. Used to escape spaces at start of line (prevent spurrious indented code).
next_is_link_like: boolTrue 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: boolTrue 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: usizeIndex 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.