fix quote expression

This commit is contained in:
yggverse 2026-03-10 17:52:16 +02:00
parent 9612c988cc
commit d40eab57ec

View file

@ -6,7 +6,7 @@ use gtk::{
};
use regex::Regex;
const REGEX_QUOTE: &str = r"(?m)^>\s+(?P<text>.*)$";
const REGEX_QUOTE: &str = r"(?m)>\s*(?P<text>.*)$";
pub struct Quote(TextTag);
@ -50,12 +50,19 @@ impl Quote {
#[test]
fn test_regex() {
let cap: Vec<_> = Regex::new(REGEX_QUOTE)
.unwrap()
.captures_iter(r"> Some quote with ![img](https://link.com)")
.collect();
let first = cap.first().unwrap();
assert_eq!(&first[0], "> Some quote with ![img](https://link.com)");
assert_eq!(&first["text"], "Some quote with ![img](https://link.com)");
let cap: Vec<_> = Regex::new(REGEX_QUOTE).unwrap().captures_iter(
"> Some quote 1 with ![img](https://link.com)\n> Some quote 2 with text\nplain text\n> Some quote 3"
).collect();
{
let m = cap.first().unwrap();
assert_eq!(&m["text"], "Some quote 1 with ![img](https://link.com)");
}
{
let m = cap.get(1).unwrap();
assert_eq!(&m["text"], "Some quote 2 with text");
}
{
let m = cap.get(2).unwrap();
assert_eq!(&m["text"], "Some quote 3");
}
}