block: add MeteredBlock as intermediate struct
This commit is contained in:
parent
1c77b035b2
commit
dcb3b787a2
3 changed files with 460 additions and 291 deletions
34
src/lib.rs
34
src/lib.rs
|
@ -589,23 +589,27 @@ impl<'s> Parser<'s> {
|
|||
attributes = Attributes::new();
|
||||
continue;
|
||||
}
|
||||
block::Container::DescriptionList => Container::DescriptionList,
|
||||
block::Container::List { ty, tight } => {
|
||||
let kind = match ty {
|
||||
block::ListType::Unordered(..) => ListKind::Unordered,
|
||||
block::ListType::Ordered(numbering, style) => {
|
||||
let marker = ev.span.of(self.src);
|
||||
let start =
|
||||
numbering.parse_number(style.number(marker)).max(1);
|
||||
ListKind::Ordered {
|
||||
numbering,
|
||||
style,
|
||||
start,
|
||||
if matches!(ty, block::ListType::Description) {
|
||||
Container::DescriptionList
|
||||
} else {
|
||||
let kind = match ty {
|
||||
block::ListType::Unordered(..) => ListKind::Unordered,
|
||||
block::ListType::Task => ListKind::Task,
|
||||
block::ListType::Ordered(numbering, style) => {
|
||||
let start = numbering
|
||||
.parse_number(style.number(content))
|
||||
.max(1);
|
||||
ListKind::Ordered {
|
||||
numbering,
|
||||
style,
|
||||
start,
|
||||
}
|
||||
}
|
||||
}
|
||||
block::ListType::Task => ListKind::Task,
|
||||
};
|
||||
Container::List { kind, tight }
|
||||
block::ListType::Description => unreachable!(),
|
||||
};
|
||||
Container::List { kind, tight }
|
||||
}
|
||||
}
|
||||
block::Container::ListItem(ty) => {
|
||||
if matches!(ty, block::ListType::Task) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue