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: 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
is_in_code_block: bool
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.
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: 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.
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
)