aboutsummaryrefslogtreecommitdiff
path: root/src/config/templates.rs
blob: e5299bd0c094ba61f0845b85e3bdd7663b218731 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// SPDX-License-Identifier: MIT
// Copyright (c) 2023 Robin Jarry

use std::fmt;

use gtmpl::{Template, TemplateError};

pub fn debug_template(t: &Template, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
    f.write_fmt(format_args!("Template({:?})", t.text))
}

pub fn parse_ini(
    ini: &ini::Properties,
    key: &str,
    default: &str,
) -> Result<Template, TemplateError> {
    let text = ini.get_all(key).last().unwrap_or(default);
    let mut t = Template::with_name(text);
    t.parse(text)?;
    Ok(t)
}