Update pulldown-cmark to next breaking version.

This commit is contained in:
Enyium 2023-02-12 12:18:31 +01:00
parent 02d7942c54
commit 2a4ec9f2f1
7 changed files with 23 additions and 33 deletions

View file

@ -17,9 +17,9 @@ checksum = "6b602bfe940d21c130f3895acd65221e8a61270debe89d628b9cb4e3ccb8569b"
[[package]] [[package]]
name = "bitflags" name = "bitflags"
version = "1.2.1" version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]] [[package]]
name = "block-buffer" name = "block-buffer"
@ -178,9 +178,9 @@ dependencies = [
[[package]] [[package]]
name = "memchr" name = "memchr"
version = "2.3.3" version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400" checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]] [[package]]
name = "opaque-debug" name = "opaque-debug"
@ -269,9 +269,9 @@ dependencies = [
[[package]] [[package]]
name = "pulldown-cmark" name = "pulldown-cmark"
version = "0.7.2" version = "0.9.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ca36dea94d187597e104a5c8e4b07576a8a45aa5db48a65e12940d3eb7461f55" checksum = "2d9cc634bc78768157b5cbfe988ffcd1dcba95cd2b2f03a88316c08c6d00ed63"
dependencies = [ dependencies = [
"bitflags", "bitflags",
"memchr", "memchr",

View file

@ -8,7 +8,7 @@ description = "Creates a man page page from markdown."
[dependencies] [dependencies]
anyhow = "1.0.31" anyhow = "1.0.31"
handlebars = { version = "3.2.1", features = ["dir_source"] } handlebars = { version = "3.2.1", features = ["dir_source"] }
pulldown-cmark = { version = "0.7.2", default-features = false } pulldown-cmark = { version = "0.9.2", default-features = false }
same-file = "1.0.6" same-file = "1.0.6"
serde_json = "1.0.56" serde_json = "1.0.56"
url = "2.2.2" url = "2.2.2"

View file

@ -3,7 +3,7 @@
use crate::util::{header_text, parse_name_and_section}; use crate::util::{header_text, parse_name_and_section};
use crate::EventIter; use crate::EventIter;
use anyhow::{bail, Error}; use anyhow::{bail, Error};
use pulldown_cmark::{Alignment, Event, LinkType, Tag}; use pulldown_cmark::{Alignment, Event, HeadingLevel, LinkType, Tag};
use std::fmt::Write; use std::fmt::Write;
use url::Url; use url::Url;
@ -122,10 +122,10 @@ impl<'e> ManRenderer<'e> {
self.output.push_str(".sp\n"); self.output.push_str(".sp\n");
} }
} }
Tag::Heading(n) => { Tag::Heading(level, ..) => {
if n == 1 { if level == HeadingLevel::H1 {
self.push_top_header()?; self.push_top_header()?;
} else if n == 2 { } else if level == HeadingLevel::H2 {
// Section header // Section header
let text = header_text(&mut self.parser)?; let text = header_text(&mut self.parser)?;
self.flush(); self.flush();
@ -255,7 +255,7 @@ impl<'e> ManRenderer<'e> {
Event::End(tag) => { Event::End(tag) => {
match &tag { match &tag {
Tag::Paragraph => self.flush(), Tag::Paragraph => self.flush(),
Tag::Heading(_n) => {} Tag::Heading(..) => {}
Tag::BlockQuote => { Tag::BlockQuote => {
self.flush(); self.flush();
// restore left margin, restore line length // restore left margin, restore line length

View file

@ -3,7 +3,7 @@
use crate::util::{header_text, unwrap}; use crate::util::{header_text, unwrap};
use crate::EventIter; use crate::EventIter;
use anyhow::{bail, Error}; use anyhow::{bail, Error};
use pulldown_cmark::{Alignment, Event, LinkType, Tag}; use pulldown_cmark::{Alignment, Event, HeadingLevel, LinkType, Tag};
use std::fmt::Write; use std::fmt::Write;
use std::mem; use std::mem;
use url::Url; use url::Url;
@ -116,24 +116,24 @@ impl<'e> TextRenderer<'e> {
self.flush(); self.flush();
} }
} }
Tag::Heading(n) => { Tag::Heading(level, ..) => {
self.flush(); self.flush();
if n == 1 { if level == HeadingLevel::H1 {
let text = header_text(&mut self.parser)?; let text = header_text(&mut self.parser)?;
self.push_to_line(&text.to_uppercase()); self.push_to_line(&text.to_uppercase());
self.hard_break(); self.hard_break();
self.hard_break(); self.hard_break();
} else if n == 2 { } else if level == HeadingLevel::H2 {
let text = header_text(&mut self.parser)?; let text = header_text(&mut self.parser)?;
self.push_to_line(&text.to_uppercase()); self.push_to_line(&text.to_uppercase());
self.flush(); self.flush();
self.indent = 7; self.indent = 7;
} else { } else {
let text = header_text(&mut self.parser)?; let text = header_text(&mut self.parser)?;
self.push_indent((n as usize - 2) * 3); self.push_indent((level as usize - 2) * 3);
self.push_to_line(&text); self.push_to_line(&text);
self.flush(); self.flush();
self.indent = (n as usize - 1) * 3 + 1; self.indent = (level as usize - 1) * 3 + 1;
} }
} }
Tag::BlockQuote => { Tag::BlockQuote => {
@ -223,7 +223,7 @@ impl<'e> TextRenderer<'e> {
self.flush(); self.flush();
self.hard_break(); self.hard_break();
} }
Tag::Heading(_n) => {} Tag::Heading(..) => {}
Tag::BlockQuote => { Tag::BlockQuote => {
self.indent -= 3; self.indent -= 3;
} }

View file

@ -31,7 +31,7 @@ pub fn header_text<'e>(parser: &mut EventIter<'e>) -> Result<CowStr<'e>, Error>
e => bail!("expected plain text in man header, got {:?}", e), e => bail!("expected plain text in man header, got {:?}", e),
}; };
match parser.next() { match parser.next() {
Some((Event::End(Tag::Heading(_)), _range)) => { Some((Event::End(Tag::Heading(..)), _range)) => {
return Ok(text); return Ok(text);
} }
e => bail!("expected plain text in man header, got {:?}", e), e => bail!("expected plain text in man header, got {:?}", e),

View file

@ -66,14 +66,8 @@ With a second paragraph inside it
.sp .sp
.RS 4 .RS 4
\h'-04'\(bu\h'+02'Milk \h'-04'\(bu\h'+02'Milk
.sp 5. Don't start at one.
.RS 4 6. tamarind
\h'-04' 5.\h'+01'Don't start at one.
.RE
.sp
.RS 4
\h'-04' 6.\h'+01'tamarind
.RE
.RE .RE
.RE .RE
.sp .sp

View file

@ -43,11 +43,7 @@ LISTS
o Eggs o Eggs
o Milk o Milk 5. Don't start at one. 6. tamarind
5. Don't start at one.
6. tamarind
2. Second element 2. Second element