use regex::Regex;
use std::sync::OnceLock;
pub fn replace_fontawesome_icons(input: &str) -> String {
if !input.contains(":fa-") {
return input.to_string();
}
static RE: OnceLock<Regex> = OnceLock::new();
let re =
RE.get_or_init(|| Regex::new(r"(fa[bklrs]?):fa-([A-Za-z0-9_-]+)").expect("valid regex"));
re.replace_all(input, |caps: ®ex::Captures<'_>| {
let prefix = caps.get(1).map(|m| m.as_str()).unwrap_or("fa");
let icon = caps.get(2).map(|m| m.as_str()).unwrap_or("");
format!(r#"<i class="{prefix} fa-{icon}"></i>"#)
})
.to_string()
}