From f3b392e06a72cc1461ab2c9587c96991a2731e9c Mon Sep 17 00:00:00 2001 From: default Date: Thu, 18 Jul 2024 17:19:14 +0200 Subject: Show bold+italic (text between ***) correctly. --- format.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'format.c') diff --git a/format.c b/format.c index c30fd5d..52edd05 100644 --- a/format.c +++ b/format.c @@ -88,9 +88,9 @@ static xs_str *format_line(const char *line, xs_list **attach) /* split by markup */ xs *sm = xs_regex_split(line, "(" - "`[^`]+`" "|" - "\\*\\*?[^\\*]+\\*?\\*" "|" - "\\[[^]]+\\]\\([^\\)]+\\)" "|" + "`[^`]+`" "|" + "\\*\\*?\\*?[^\\*]+\\*?\\*?\\*" "|" + "\\[[^]]+\\]\\([^\\)]+\\)" "|" "https?:/" "/[^[:space:]]+" ")"); int n = 0; @@ -106,6 +106,12 @@ static xs_str *format_line(const char *line, xs_list **attach) s = xs_str_cat(s, s2); } else + if (xs_startswith(v, "***")) { + xs *s1 = xs_crop_i(xs_dup(v), 3, -3); + xs *s2 = xs_fmt("%s", s1); + s = xs_str_cat(s, s2); + } + else if (xs_startswith(v, "**")) { xs *s1 = xs_crop_i(xs_dup(v), 2, -2); xs *s2 = xs_fmt("%s", s1); -- cgit v1.2.3