From bc68d1eb01c0575be48a452cd6bd260f99d4d873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E9=9B=85=20=C2=B7=20Misaki=20Masa?= Date: Thu, 12 Sep 2024 18:17:04 +0800 Subject: [PATCH] feat: complete and consistent support for the `ui.Style()` API (#1637) --- yazi-plugin/src/elements/bar.rs | 40 +++++-------------- yazi-plugin/src/elements/border.rs | 33 +++++----------- yazi-plugin/src/elements/gauge.rs | 44 +++++++-------------- yazi-plugin/src/elements/line.rs | 15 +------ yazi-plugin/src/elements/list.rs | 57 ++++++++++----------------- yazi-plugin/src/elements/paragraph.rs | 17 ++------ yazi-plugin/src/elements/span.rs | 14 +------ yazi-plugin/src/elements/style.rs | 29 +++++++++----- yazi-plugin/src/macros.rs | 34 ++++++++++------ 9 files changed, 101 insertions(+), 182 deletions(-) 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::