mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-25 08:41:05 +00:00
..
This commit is contained in:
parent
b78bf6cc8d
commit
cf7fd2f615
2 changed files with 5 additions and 13 deletions
|
|
@ -2,6 +2,7 @@ use mlua::{AnyUserData, ExternalError, Lua, Table, UserData, UserDataMethods, Va
|
||||||
use ratatui::widgets::Widget;
|
use ratatui::widgets::Widget;
|
||||||
|
|
||||||
use super::{RectRef, Renderable, Span};
|
use super::{RectRef, Renderable, Span};
|
||||||
|
use crate::elements::Style;
|
||||||
|
|
||||||
#[derive(Clone, Default)]
|
#[derive(Clone, Default)]
|
||||||
pub struct Gauge {
|
pub struct Gauge {
|
||||||
|
|
@ -50,12 +51,7 @@ impl UserData for Gauge {
|
||||||
});
|
});
|
||||||
|
|
||||||
methods.add_function("gauge_style", |_, (ud, value): (AnyUserData, Value)| {
|
methods.add_function("gauge_style", |_, (ud, value): (AnyUserData, Value)| {
|
||||||
ud.borrow_mut::<Self>()?.gauge_style = match value {
|
ud.borrow_mut::<Self>()?.gauge_style = Style::try_from(value)?.0;
|
||||||
Value::Nil => ratatui::style::Style::default(),
|
|
||||||
Value::Table(tb) => crate::elements::Style::try_from(tb)?.0,
|
|
||||||
Value::UserData(ud) => ud.borrow::<crate::elements::Style>()?.0,
|
|
||||||
_ => return Err("expected a Style or Table or nil".into_lua_err()),
|
|
||||||
};
|
|
||||||
Ok(ud)
|
Ok(ud)
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -40,8 +40,8 @@ impl<'a> TryFrom<Value<'a>> for Style {
|
||||||
fn try_from(value: Value<'a>) -> Result<Self, Self::Error> {
|
fn try_from(value: Value<'a>) -> Result<Self, Self::Error> {
|
||||||
Ok(Self(match value {
|
Ok(Self(match value {
|
||||||
Value::Nil => Default::default(),
|
Value::Nil => Default::default(),
|
||||||
Value::Table(tb) => Style::try_from(tb)?.0,
|
Value::Table(tb) => Self::try_from(tb)?.0,
|
||||||
Value::UserData(ud) => ud.borrow::<Style>()?.0,
|
Value::UserData(ud) => ud.borrow::<Self>()?.0,
|
||||||
_ => Err("expected a Style or Table or nil".into_lua_err())?,
|
_ => Err("expected a Style or Table or nil".into_lua_err())?,
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
@ -58,11 +58,7 @@ impl UserData for Style {
|
||||||
methods.add_function("patch", |_, (ud, value): (AnyUserData, Value)| {
|
methods.add_function("patch", |_, (ud, value): (AnyUserData, Value)| {
|
||||||
{
|
{
|
||||||
let mut me = ud.borrow_mut::<Self>()?;
|
let mut me = ud.borrow_mut::<Self>()?;
|
||||||
me.0 = me.0.patch(match value {
|
me.0 = me.0.patch(Self::try_from(value)?.0);
|
||||||
Value::Table(tb) => Style::try_from(tb)?.0,
|
|
||||||
Value::UserData(ud) => ud.borrow::<Style>()?.0,
|
|
||||||
_ => return Err("expected a Style or Table".into_lua_err()),
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
Ok(ud)
|
Ok(ud)
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue