use mlua::UserData; use self::{editor::EditorTheme, sheetview::SheetViewTheme}; use super::DUMMY_CONFIG; pub mod style; pub mod sheetview; pub mod editor; mod bar; #[derive(Clone, Debug, Default)] pub struct Theme { pub sheetview: SheetViewTheme, pub editor: EditorTheme, } impl Theme { pub const fn new() -> Self { Self { sheetview: SheetViewTheme::new(), editor: EditorTheme::new(), } } } impl UserData for Theme { fn add_fields<'lua, F: mlua::prelude::LuaUserDataFields<'lua, Self>>(fields: &mut F) { fields.add_field_function_get("sheetview", |_, _| { Ok(DUMMY_CONFIG.theme.sheetview) }); fields.add_field_function_get("editor", |_, _| { Ok(DUMMY_CONFIG.theme.editor) }) } }