mirror of
https://github.com/sharkdp/bat
synced 2024-11-27 14:20:45 +00:00
21 lines
564 B
Rust
21 lines
564 B
Rust
#![allow(dead_code)]
|
|
|
|
use std::{collections::HashMap, fs, path::Path};
|
|
|
|
/// Generates a file from a template.
|
|
pub fn render_template(
|
|
variables: &HashMap<&str, String>,
|
|
in_file: &str,
|
|
out_file: impl AsRef<Path>,
|
|
) -> anyhow::Result<()> {
|
|
let mut content = fs::read_to_string(in_file)?;
|
|
|
|
for (variable_name, value) in variables {
|
|
// Replace {{variable_name}} by the value
|
|
let pattern = format!("{{{{{variable_name}}}}}");
|
|
content = content.replace(&pattern, value);
|
|
}
|
|
|
|
fs::write(out_file, content)?;
|
|
Ok(())
|
|
}
|