Skip to main content

yazi_plugin/
slim.rs

1use mlua::{IntoLua, Lua};
2use yazi_macro::plugin_preset as preset;
3
4pub fn slim_lua(lua: &Lua) -> mlua::Result<()> {
5	// Base
6	let globals = lua.globals();
7	globals.raw_set("ui", crate::elements::compose())?;
8	globals.raw_set("ya", crate::utils::compose(true))?;
9	globals.raw_set("fs", crate::fs::compose())?;
10	globals.raw_set("rt", crate::runtime::compose())?;
11	globals.raw_set("th", crate::theme::compose().into_lua(lua)?)?;
12
13	yazi_binding::Cha::install(lua)?;
14	yazi_binding::File::install(lua)?;
15	yazi_binding::Url::install(lua)?;
16	yazi_binding::Path::install(lua)?;
17
18	yazi_binding::Error::install(lua)?;
19	yazi_binding::process::install(lua)?;
20	yazi_runner::loader::install(lua)?;
21
22	// Addons
23	lua.load(preset!("ya")).set_name("ya.lua").exec()?;
24
25	Ok(())
26}