Only replace one formatting char at a time

This commit is contained in:
Yash Karandikar 2022-02-05 13:12:00 -06:00
parent 934941e2bb
commit 43b2b8cab0
Signed by untrusted user: karx
GPG key ID: A794DA2529474BA5

View file

@ -642,22 +642,22 @@ async fn irc_loop(
for c in computed.clone().chars() {
if c == '\x02' {
computed = computed.replace('\x02', "**");
computed = computed.replacen('\x02', "**", 1);
has_opened_bold = true;
}
if c == '\x1D' {
computed = computed.replace('\x1D', "*");
computed = computed.replacen('\x1D', "*", 1);
has_opened_italic = true;
}
if c == '\x0F' {
if has_opened_italic {
computed = computed.replace('\x0F', "*");
has_opened_italic = false;
} else if has_opened_bold {
computed = computed.replace('\x0F', "**");
if has_opened_bold {
computed = computed.replacen('\x0F', "**", 1);
has_opened_bold = false;
} else if has_opened_italic {
computed = computed.replacen('\x0F', "*", 1);
has_opened_italic = false;
}
}
}