summaryrefslogtreecommitdiff
path: root/src/config/theme
diff options
context:
space:
mode:
Diffstat (limited to 'src/config/theme')
-rw-r--r--src/config/theme/sheetview.rs25
1 files changed, 13 insertions, 12 deletions
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<Style, CellRef>,
+ pub selection: EvalTo<Style, CellRef>,
pub cell: EvalTo<Style, CellRef>,
}
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<Style, CellRef>| {
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<Style, CellRef>| {
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<Style, CellRef>| {
cfg_mut!().cell = cell;