diff --git a/yazi-plugin/src/elements/bar.rs b/yazi-plugin/src/elements/bar.rs index 4807d8eb..a7124def 100644 --- a/yazi-plugin/src/elements/bar.rs +++ b/yazi-plugin/src/elements/bar.rs @@ -1,7 +1,7 @@ -use mlua::{AnyUserData, ExternalError, Lua, Table, UserData, Value}; +use mlua::{AnyUserData, Lua, Table, UserData}; use ratatui::widgets::Borders; -use super::{RectRef, Renderable, Style}; +use super::{RectRef, Renderable}; #[derive(Clone)] pub struct Bar { @@ -9,7 +9,7 @@ pub struct Bar { direction: ratatui::widgets::Borders, symbol: String, - style: Option, + style: ratatui::style::Style, } impl Bar { @@ -42,22 +42,12 @@ impl Bar { impl UserData for Bar { fn add_methods<'lua, M: mlua::UserDataMethods<'lua, Self>>(methods: &mut M) { + crate::impl_style_method!(methods, style); + methods.add_function("symbol", |_, (ud, symbol): (AnyUserData, String)| { ud.borrow_mut::()?.symbol = symbol; Ok(ud) }); - methods.add_function("style", |_, (ud, value): (AnyUserData, Value)| { - { - let mut me = ud.borrow_mut::()?; - match value { - Value::Nil => me.style = None, - Value::Table(tb) => me.style = Some(Style::try_from(tb)?.0), - Value::UserData(ud) => me.style = Some(ud.borrow::