From d1492a10cdaf714074d29ad3366ab9c169d95b75 Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Fri, 2 Aug 2024 15:51:45 +0200 Subject: add bartheme and barstate to sheetview --- src/config/theme/sheetview.rs | 66 ------------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 src/config/theme/sheetview.rs (limited to 'src/config/theme/sheetview.rs') diff --git a/src/config/theme/sheetview.rs b/src/config/theme/sheetview.rs deleted file mode 100644 index af0b585..0000000 --- a/src/config/theme/sheetview.rs +++ /dev/null @@ -1,66 +0,0 @@ -use mlua::UserData; -use ratatui::style::Color; - -use crate::{config::GlobalConfig, lua::evalsto::EvalTo, sheet::cell::CellRef}; - -use super::style::Style; - -#[derive(Debug, Clone, Default)] -pub struct SheetViewTheme { - pub cursor: EvalTo, - pub selection: EvalTo, - pub cell: EvalTo, - pub background: EvalTo, -} - -impl SheetViewTheme { - pub const fn new() -> Self { - Self { - cursor: EvalTo::Value(Style::new().fg(Color::Black).bg(Color::White)), - selection: EvalTo::Value(Style::new().fg(Color::White).bg(Color::DarkGray)), - cell: EvalTo::Value(Style::new().fg(Color::White).bg(Color::Black)), - background: EvalTo::Value(Style::new().bg(Color::Black)), - } - } -} - -macro_rules! cfg { - () => { - GlobalConfig::instance().theme.sheetview - }; -} - -macro_rules! cfg_mut { - () => { - GlobalConfig::instance_mut().theme.sheetview - }; -} - -impl UserData for SheetViewTheme { - fn add_fields<'lua, F: mlua::prelude::LuaUserDataFields<'lua, Self>>(fields: &mut F) { - fields.add_field_function_get("cursor", |_, _| Ok(cfg!().cursor.clone())); - - fields.add_field_function_set("cursor", |_, _, pair: EvalTo| { - cfg_mut!().cursor = pair; - Ok(()) - }); - - fields.add_field_function_get("selection", |_, _| Ok(cfg!().selection.clone())); - fields.add_field_function_set("selection", |_, _, pair: EvalTo| { - cfg_mut!().selection = pair; - Ok(()) - }); - - fields.add_field_function_get("cell", |_, _| Ok(cfg!().cell.clone())); - fields.add_field_function_set("cell", |_, _, cell: EvalTo| { - cfg_mut!().cell = cell; - Ok(()) - }); - - fields.add_field_function_get("background", |_, _| Ok(cfg!().background.clone())); - fields.add_field_function_set("background", |_, _, background: EvalTo| { - cfg_mut!().background = background; - Ok(()) - }); - } -} -- cgit v1.2.3-70-g09d2