use rossi::snippets::SNIPPETS;
use super::paths;
pub fn render() -> Vec<(String, String)> {
SNIPPETS
.iter()
.map(|snippet| {
let rel = format!("{}/{}", paths::EMACS_SNIPPETS_DIR, snippet.prefix);
(rel, render_one(snippet.name, snippet.prefix, snippet.body))
})
.collect()
}
fn render_one(name: &str, key: &str, body: &[&str]) -> String {
let mut out = String::new();
out.push_str("# -*- mode: snippet -*-\n");
out.push_str(&format!("# name: {name}\n"));
out.push_str(&format!("# key: {key}\n"));
out.push_str("# --\n");
out.push_str(&body.join("\n"));
out.push('\n');
out
}