srdusr
aboutsummaryrefslogtreecommitdiffstats
path: root/crates/config/src/engine/theme.rs
blob: b178b104b966fb27bac3e69e009c18e141e60c07 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use super::*;
use super::support::flatten_table_into;

impl Engine {
    // ---- srd.theme.* -------------------------------------------------------

    pub(super) fn fn_theme_set(&self, prefix: &str) -> Result<mlua::Function<'_>> {
        let state = self.state.clone();
        let prefix = prefix.to_string();
        Ok(self.lua.create_function(move |_, table: Table| {
            let mut s = state.borrow_mut();
            flatten_table_into(&prefix, &table, &mut s.values)?;
            Ok(())
        })?)
    }
}