Struct pulldown_cmark_to_cmark::State
source · pub struct State<'a> {Show 14 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 is_in_code_block: bool,
pub last_was_text_without_trailing_newline: bool,
pub link_stack: Vec<LinkCategory<'a>>,
pub image_stack: Vec<ImageLink<'a>>,
pub current_heading: Option<Heading<'a>>,
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§
§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
is_in_code_block: boolIs 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.
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
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.
Implementations§
Trait Implementations§
source§impl<'a> Ord for State<'a>
impl<'a> Ord for State<'a>
source§impl<'a> PartialOrd for State<'a>
impl<'a> PartialOrd for State<'a>
impl<'a> Eq for State<'a>
impl<'a> StructuralPartialEq for State<'a>
Auto Trait Implementations§
impl<'a> Freeze for State<'a>
impl<'a> RefUnwindSafe for State<'a>
impl<'a> Send for State<'a>
impl<'a> Sync for State<'a>
impl<'a> Unpin for State<'a>
impl<'a> UnwindSafe for State<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)