diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-01-31 16:06:44 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-01-31 16:47:00 +0100 |
| commit | 20b1a38414101f842a6d9201133a5aaaa45a7cec (patch) | |
| tree | 2365453d4dfdebfa11d618baad1a36c65b62d7c7 /src/library/link.rs | |
| parent | fa57d86ed981373b66804972147bf59cab920e6b (diff) | |
Switch from `Rc` to `Arc`
Diffstat (limited to 'src/library/link.rs')
| -rw-r--r-- | src/library/link.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/library/link.rs b/src/library/link.rs index dc523ffd..0ecd317b 100644 --- a/src/library/link.rs +++ b/src/library/link.rs @@ -10,13 +10,14 @@ pub struct LinkNode; #[class] impl LinkNode { fn construct(_: &mut EvalContext, args: &mut Args) -> TypResult<Node> { - let url: String = args.expect::<EcoString>("url")?.into(); + let url = args.expect::<EcoString>("url")?; let body = args.find().unwrap_or_else(|| { let mut text = url.as_str(); for prefix in ["mailto:", "tel:"] { text = text.trim_start_matches(prefix); } - Node::Text(text.into()) + let shorter = text.len() < url.len(); + Node::Text(if shorter { text.into() } else { url.clone() }) }); Ok(body.styled(TextNode::LINK, Some(url))) |
