diff --git a/src/format.rs b/src/format.rs index e6c46dc..b0c3d2b 100644 --- a/src/format.rs +++ b/src/format.rs @@ -97,14 +97,19 @@ fn format_attachments(depth: usize, attachments: &[Attachment]) -> String { // line, breaking the desired formatting fn apply_block_quote>(depth: usize, content: S) -> String { let prefix = quote_prefix(depth); + // TODO use OnceLock let empty = Regex::new("\n\\s").expect("Failed to compiled regex for nested empty lines!"); let non_empty = Regex::new("\n(?P[^>\\s])").expect("Failed to compile regex for nested lines!"); + // TODO break into separate function // parsing some multiline content adds paragraph tags, convert those back to new lines to apply // the block quote level to each line let content = content.as_ref().replace("

", "\n\n"); let content = content.replace("

", ""); let content = content.replace("

", ""); + // TODO refactor into separate function + let content = content.replace("\\*", "*"); + let content = content.replace(":totoro:", "\\:totoro\\:"); // replace separately to avoid trailing spaces when replacing empty lines with the prefix let content = empty.replace_all(content.as_ref(), format!("\n{}\n", prefix.trim())); let content = non_empty.replace_all(&content, |c: &Captures| {