use crate::ir::nodes::{InlineContent, ListForm, ListStyle};
#[derive(Debug, Clone, PartialEq)]
pub enum Event {
StartDocument,
EndDocument,
StartHeading(usize),
EndHeading(usize),
StartContent,
EndContent,
StartParagraph,
EndParagraph,
StartList {
ordered: bool,
style: ListStyle,
form: ListForm,
},
EndList,
StartListItem,
EndListItem,
StartDefinition,
EndDefinition,
StartDefinitionTerm,
EndDefinitionTerm,
StartDefinitionDescription,
EndDefinitionDescription,
StartVerbatim {
language: Option<String>,
subject: Option<String>,
},
EndVerbatim,
StartAnnotation {
label: String,
parameters: Vec<(String, String)>,
},
EndAnnotation {
label: String,
},
StartTable {
caption: Option<Vec<crate::ir::nodes::InlineContent>>,
fullwidth: bool,
},
EndTable,
StartTableRow {
header: bool,
},
EndTableRow,
StartTableCell {
header: bool,
align: crate::ir::nodes::TableCellAlignment,
colspan: usize,
rowspan: usize,
},
EndTableCell,
StartTableFootnotes,
EndTableFootnotes,
Image(crate::ir::nodes::Image),
Video(crate::ir::nodes::Video),
Audio(crate::ir::nodes::Audio),
Inline(InlineContent),
}