diff options
author | 2024-07-24 10:12:33 +0200 | |
---|---|---|
committer | 2024-07-24 10:12:33 +0200 | |
commit | faa5d0c58d6174091253fd55820d286c23b80ab4 (patch) | |
tree | c4f916561e5b60ec6a90917f15af678564ad462c /widget/src/markdown.rs | |
parent | a8c772eb8ab8854ec87b963d855966ee0ad5ea51 (diff) | |
download | iced-faa5d0c58d6174091253fd55820d286c23b80ab4.tar.gz iced-faa5d0c58d6174091253fd55820d286c23b80ab4.tar.bz2 iced-faa5d0c58d6174091253fd55820d286c23b80ab4.zip |
Unify `Link` and `Message` generics in `text::Rich`
Diffstat (limited to 'widget/src/markdown.rs')
-rw-r--r-- | widget/src/markdown.rs | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/widget/src/markdown.rs b/widget/src/markdown.rs index f2b69244..0e47d35c 100644 --- a/widget/src/markdown.rs +++ b/widget/src/markdown.rs @@ -332,13 +332,11 @@ impl Default for Settings { /// Display a bunch of Markdown items. /// /// You can obtain the items with [`parse`]. -pub fn view<'a, Message, Renderer>( +pub fn view<'a, Renderer>( items: impl IntoIterator<Item = &'a Item>, settings: Settings, - on_link: impl Fn(Url) -> Message + Copy + 'a, -) -> Element<'a, Message, Theme, Renderer> +) -> Element<'a, Url, Theme, Renderer> where - Message: 'a, Renderer: core::text::Renderer<Font = Font> + 'a, { let Settings { @@ -356,7 +354,7 @@ where let blocks = items.into_iter().enumerate().map(|(i, item)| match item { Item::Heading(level, heading) => { - container(rich_text(heading).on_link(on_link).size(match level { + container(rich_text(heading).size(match level { pulldown_cmark::HeadingLevel::H1 => h1_size, pulldown_cmark::HeadingLevel::H2 => h2_size, pulldown_cmark::HeadingLevel::H3 => h3_size, @@ -372,11 +370,11 @@ where .into() } Item::Paragraph(paragraph) => { - rich_text(paragraph).on_link(on_link).size(text_size).into() + rich_text(paragraph).size(text_size).into() } Item::List { start: None, items } => { column(items.iter().map(|items| { - row![text("•").size(text_size), view(items, settings, on_link)] + row![text("•").size(text_size), view(items, settings)] .spacing(spacing) .into() })) @@ -389,7 +387,7 @@ where } => column(items.iter().enumerate().map(|(i, items)| { row![ text!("{}.", i as u64 + *start).size(text_size), - view(items, settings, on_link) + view(items, settings) ] .spacing(spacing) .into() @@ -399,10 +397,7 @@ where Item::CodeBlock(code) => container( scrollable( container( - rich_text(code) - .font(Font::MONOSPACE) - .size(code_size) - .on_link(on_link), + rich_text(code).font(Font::MONOSPACE).size(code_size), ) .padding(spacing.0 / 2.0), ) |