Add new constructor for markdown::Content

This commit is contained in:
Héctor Ramón Jiménez 2025-01-31 20:49:25 +01:00
parent bc2d662af7
commit 095859ed57
No known key found for this signature in database
GPG key ID: 7CC46565708259A7
2 changed files with 6 additions and 6 deletions

View file

@ -74,7 +74,7 @@ impl Markdown {
if enable_stream {
self.mode = Mode::Stream {
pending: self.content.text(),
parsed: markdown::Content::parse(""),
parsed: markdown::Content::new(),
};
scrollable::snap_to(

View file

@ -66,13 +66,17 @@ pub use core::text::Highlight;
pub use pulldown_cmark::HeadingLevel;
pub use url::Url;
#[derive(Debug)]
#[derive(Debug, Default)]
pub struct Content {
items: Vec<Item>,
state: State,
}
impl Content {
pub fn new() -> Self {
Self::default()
}
pub fn parse(markdown: &str) -> Self {
let mut state = State::default();
let items = parse_with(&mut state, markdown).collect();
@ -595,16 +599,12 @@ fn parse_with<'a>(
pulldown_cmark::Event::Text(text) if !metadata && !table => {
#[cfg(feature = "highlighter")]
if let Some(highlighter) = &mut highlighter {
let start = std::time::Instant::now();
for line in text.lines() {
spans.extend_from_slice(
highlighter.highlight_line(&format!("{line}\n")),
);
}
dbg!(start.elapsed());
return None;
}