Make EasyMark numbered lists allow more than 2 digits (#1826)
Co-authored-by: Ygor Souza <ygor.souza@protonmail.com>
This commit is contained in:
parent
06adb09fa3
commit
e39410c37f
1 changed files with 4 additions and 18 deletions
|
@ -101,27 +101,13 @@ impl<'a> Parser<'a> {
|
||||||
|
|
||||||
/// `1. `, `42. ` etc.
|
/// `1. `, `42. ` etc.
|
||||||
fn numbered_list(&mut self) -> Option<Item<'a>> {
|
fn numbered_list(&mut self) -> Option<Item<'a>> {
|
||||||
let bytes = self.s.as_bytes();
|
let n_digits = self.s.chars().take_while(|c| c.is_ascii_digit()).count();
|
||||||
// 1. numbered bullet
|
if n_digits > 0 && self.s.chars().skip(n_digits).take(2).eq(". ".chars()) {
|
||||||
if bytes.len() >= 3 && bytes[0].is_ascii_digit() && bytes[1] == b'.' && bytes[2] == b' ' {
|
let number = &self.s[..n_digits];
|
||||||
let number = &self.s[0..1];
|
self.s = &self.s[(n_digits + 2)..];
|
||||||
self.s = &self.s[3..];
|
|
||||||
self.start_of_line = false;
|
self.start_of_line = false;
|
||||||
return Some(Item::NumberedPoint(number));
|
return Some(Item::NumberedPoint(number));
|
||||||
}
|
}
|
||||||
// 42. double-digit numbered bullet
|
|
||||||
if bytes.len() >= 4
|
|
||||||
&& bytes[0].is_ascii_digit()
|
|
||||||
&& bytes[1].is_ascii_digit()
|
|
||||||
&& bytes[2] == b'.'
|
|
||||||
&& bytes[3] == b' '
|
|
||||||
{
|
|
||||||
let number = &self.s[0..2];
|
|
||||||
self.s = &self.s[4..];
|
|
||||||
self.start_of_line = false;
|
|
||||||
return Some(Item::NumberedPoint(number));
|
|
||||||
}
|
|
||||||
// There is no triple-digit numbered bullet. Please don't make numbered lists that long.
|
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue