From 49dd298f76b29e03f5c190e4fe5023c6036f102e Mon Sep 17 00:00:00 2001 From: Nathan Reiner Date: Thu, 1 Aug 2024 21:22:27 +0200 Subject: use EvalTo for all sheetview config values --- src/config/theme/sheetview.rs | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) (limited to 'src/config/theme') diff --git a/src/config/theme/sheetview.rs b/src/config/theme/sheetview.rs index 5590349..30d801e 100644 --- a/src/config/theme/sheetview.rs +++ b/src/config/theme/sheetview.rs @@ -1,22 +1,25 @@ -use mlua::{IntoLua, UserData}; +use mlua::UserData; use ratatui::style::Color; -use crate::{config::{evalsto::EvalTo, GlobalConfig}, sheet::cell::CellRef}; +use crate::{ + config::{evalsto::EvalTo, GlobalConfig}, + sheet::cell::CellRef, +}; use super::style::Style; #[derive(Debug, Clone)] pub struct SheetViewTheme { - pub cursor: Style, - pub selection: Style, + pub cursor: EvalTo, + pub selection: EvalTo, pub cell: EvalTo, } impl SheetViewTheme { pub const fn new() -> Self { Self { - cursor: Style::new().fg(Color::Black).bg(Color::White), - selection: Style::new().fg(Color::White).bg(Color::DarkGray), + 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)), } } @@ -35,24 +38,22 @@ macro_rules! cfg_mut { } impl UserData for SheetViewTheme { - fn add_fields<'lua, F: mlua::prelude::LuaUserDataFields<'lua, Self>>(fields: & mut F) { + 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: Style| { + 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: Style| { + fields.add_field_function_set("selection", |_, _, pair: EvalTo| { cfg_mut!().selection = pair; Ok(()) }); - fields.add_field_function_get("cell", |lua, _| { - Ok(cfg!().cell.clone().into_lua(lua)?) - }); + fields.add_field_function_get("cell", |_, _| Ok(cfg!().cell.clone())); fields.add_field_function_set("cell", |_, _, cell: EvalTo| { cfg_mut!().cell = cell; -- cgit v1.2.3-70-g09d2