diff --git a/Cargo.lock b/Cargo.lock index 56e1d381..73676242 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3351,7 +3351,7 @@ dependencies = [ [[package]] name = "yazi-adapter" -version = "25.5.31" +version = "25.6.11" dependencies = [ "ansi-to-tui", "anyhow", @@ -3372,7 +3372,7 @@ dependencies = [ [[package]] name = "yazi-binding" -version = "25.5.31" +version = "25.6.11" dependencies = [ "mlua", "paste", @@ -3384,7 +3384,7 @@ dependencies = [ [[package]] name = "yazi-boot" -version = "25.5.31" +version = "25.6.11" dependencies = [ "clap", "clap_complete", @@ -3402,7 +3402,7 @@ dependencies = [ [[package]] name = "yazi-cli" -version = "25.5.31" +version = "25.6.11" dependencies = [ "anyhow", "clap", @@ -3425,7 +3425,7 @@ dependencies = [ [[package]] name = "yazi-codegen" -version = "25.5.31" +version = "25.6.11" dependencies = [ "quote", "syn", @@ -3433,7 +3433,7 @@ dependencies = [ [[package]] name = "yazi-config" -version = "25.5.31" +version = "25.6.11" dependencies = [ "anyhow", "bitflags 2.9.1", @@ -3456,7 +3456,7 @@ dependencies = [ [[package]] name = "yazi-core" -version = "25.5.31" +version = "25.6.11" dependencies = [ "anyhow", "bitflags 2.9.1", @@ -3492,7 +3492,7 @@ dependencies = [ [[package]] name = "yazi-dds" -version = "25.5.31" +version = "25.6.11" dependencies = [ "anyhow", "mlua", @@ -3514,7 +3514,7 @@ dependencies = [ [[package]] name = "yazi-ffi" -version = "25.5.31" +version = "25.6.11" dependencies = [ "anyhow", "core-foundation-sys", @@ -3525,7 +3525,7 @@ dependencies = [ [[package]] name = "yazi-fm" -version = "25.5.31" +version = "25.6.11" dependencies = [ "anyhow", "better-panic", @@ -3565,7 +3565,7 @@ dependencies = [ [[package]] name = "yazi-fs" -version = "25.5.31" +version = "25.6.11" dependencies = [ "anyhow", "arc-swap", @@ -3591,11 +3591,11 @@ dependencies = [ [[package]] name = "yazi-macro" -version = "25.5.31" +version = "25.6.11" [[package]] name = "yazi-plugin" -version = "25.5.31" +version = "25.6.11" dependencies = [ "ansi-to-tui", "anyhow", @@ -3640,7 +3640,7 @@ checksum = "33232d9116df6415ddfcdf72701b1b7439ce87f240a14723e8dd5d17e7ed5f98" [[package]] name = "yazi-proxy" -version = "25.5.31" +version = "25.6.11" dependencies = [ "anyhow", "mlua", @@ -3653,7 +3653,7 @@ dependencies = [ [[package]] name = "yazi-scheduler" -version = "25.5.31" +version = "25.6.11" dependencies = [ "anyhow", "async-priority-channel", @@ -3676,7 +3676,7 @@ dependencies = [ [[package]] name = "yazi-shared" -version = "25.5.31" +version = "25.6.11" dependencies = [ "anyhow", "crossterm 0.29.0", @@ -3696,7 +3696,7 @@ dependencies = [ [[package]] name = "yazi-term" -version = "25.5.31" +version = "25.6.11" dependencies = [ "crossterm 0.29.0", "libc", @@ -3709,7 +3709,7 @@ dependencies = [ [[package]] name = "yazi-widgets" -version = "25.5.31" +version = "25.6.11" dependencies = [ "crossterm 0.29.0", "futures", diff --git a/yazi-adapter/Cargo.toml b/yazi-adapter/Cargo.toml index bbf5a66e..f63b76c5 100644 --- a/yazi-adapter/Cargo.toml +++ b/yazi-adapter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-adapter" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -9,10 +9,10 @@ homepage = "https://yazi-rs.github.io" repository = "https://github.com/sxyazi/yazi" [dependencies] -yazi-config = { path = "../yazi-config", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } -yazi-term = { path = "../yazi-term", version = "25.5.31" } +yazi-config = { path = "../yazi-config", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } +yazi-term = { path = "../yazi-term", version = "25.6.11" } # External dependencies ansi-to-tui = { workspace = true } diff --git a/yazi-binding/Cargo.toml b/yazi-binding/Cargo.toml index 297dc8cd..eb17e4da 100644 --- a/yazi-binding/Cargo.toml +++ b/yazi-binding/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-binding" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -9,9 +9,9 @@ homepage = "https://yazi-rs.github.io" repository = "https://github.com/sxyazi/yazi" [dependencies] -yazi-fs = { path = "../yazi-fs", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } +yazi-fs = { path = "../yazi-fs", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } # External dependencies mlua = { workspace = true } diff --git a/yazi-boot/Cargo.toml b/yazi-boot/Cargo.toml index b8d02367..e30aa7c0 100644 --- a/yazi-boot/Cargo.toml +++ b/yazi-boot/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-boot" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -9,11 +9,11 @@ homepage = "https://yazi-rs.github.io" repository = "https://github.com/sxyazi/yazi" [dependencies] -yazi-adapter = { path = "../yazi-adapter", version = "25.5.31" } -yazi-config = { path = "../yazi-config", version = "25.5.31" } -yazi-fs = { path = "../yazi-fs", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } +yazi-adapter = { path = "../yazi-adapter", version = "25.6.11" } +yazi-config = { path = "../yazi-config", version = "25.6.11" } +yazi-fs = { path = "../yazi-fs", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } # External dependencies clap = { workspace = true } @@ -21,7 +21,7 @@ regex = { workspace = true } serde = { workspace = true } [build-dependencies] -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } # External dependencies clap = { workspace = true } diff --git a/yazi-cli/Cargo.toml b/yazi-cli/Cargo.toml index 248ed1dc..c5048658 100644 --- a/yazi-cli/Cargo.toml +++ b/yazi-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-cli" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -9,11 +9,11 @@ homepage = "https://yazi-rs.github.io" repository = "https://github.com/sxyazi/yazi" [dependencies] -yazi-boot = { path = "../yazi-boot", version = "25.5.31" } -yazi-dds = { path = "../yazi-dds", version = "25.5.31" } -yazi-fs = { path = "../yazi-fs", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } +yazi-boot = { path = "../yazi-boot", version = "25.6.11" } +yazi-dds = { path = "../yazi-dds", version = "25.6.11" } +yazi-fs = { path = "../yazi-fs", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } # External dependencies anyhow = { workspace = true } @@ -26,7 +26,7 @@ toml = { workspace = true } twox-hash = { workspace = true } [build-dependencies] -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } # External build dependencies anyhow = { workspace = true } diff --git a/yazi-codegen/Cargo.toml b/yazi-codegen/Cargo.toml index a02b35db..7d4e35d1 100644 --- a/yazi-codegen/Cargo.toml +++ b/yazi-codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-codegen" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] diff --git a/yazi-config/Cargo.toml b/yazi-config/Cargo.toml index 34f34d61..2facaea8 100644 --- a/yazi-config/Cargo.toml +++ b/yazi-config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-config" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -9,11 +9,11 @@ homepage = "https://yazi-rs.github.io" repository = "https://github.com/sxyazi/yazi" [dependencies] -yazi-codegen = { path = "../yazi-codegen", version = "25.5.31" } -yazi-fs = { path = "../yazi-fs", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } -yazi-term = { path = "../yazi-term", version = "25.5.31" } +yazi-codegen = { path = "../yazi-codegen", version = "25.6.11" } +yazi-fs = { path = "../yazi-fs", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } +yazi-term = { path = "../yazi-term", version = "25.6.11" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-core/Cargo.toml b/yazi-core/Cargo.toml index 168c7684..f6ec12eb 100644 --- a/yazi-core/Cargo.toml +++ b/yazi-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-core" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -9,19 +9,19 @@ homepage = "https://yazi-rs.github.io" repository = "https://github.com/sxyazi/yazi" [dependencies] -yazi-adapter = { path = "../yazi-adapter", version = "25.5.31" } -yazi-boot = { path = "../yazi-boot", version = "25.5.31" } -yazi-codegen = { path = "../yazi-codegen", version = "25.5.31" } -yazi-config = { path = "../yazi-config", version = "25.5.31" } -yazi-dds = { path = "../yazi-dds", version = "25.5.31" } -yazi-fs = { path = "../yazi-fs", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-plugin = { path = "../yazi-plugin", version = "25.5.31" } -yazi-proxy = { path = "../yazi-proxy", version = "25.5.31" } -yazi-scheduler = { path = "../yazi-scheduler", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } -yazi-term = { path = "../yazi-term", version = "25.5.31" } -yazi-widgets = { path = "../yazi-widgets", version = "25.5.31" } +yazi-adapter = { path = "../yazi-adapter", version = "25.6.11" } +yazi-boot = { path = "../yazi-boot", version = "25.6.11" } +yazi-codegen = { path = "../yazi-codegen", version = "25.6.11" } +yazi-config = { path = "../yazi-config", version = "25.6.11" } +yazi-dds = { path = "../yazi-dds", version = "25.6.11" } +yazi-fs = { path = "../yazi-fs", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-plugin = { path = "../yazi-plugin", version = "25.6.11" } +yazi-proxy = { path = "../yazi-proxy", version = "25.6.11" } +yazi-scheduler = { path = "../yazi-scheduler", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } +yazi-term = { path = "../yazi-term", version = "25.6.11" } +yazi-widgets = { path = "../yazi-widgets", version = "25.6.11" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-dds/Cargo.toml b/yazi-dds/Cargo.toml index 22597341..e8372836 100644 --- a/yazi-dds/Cargo.toml +++ b/yazi-dds/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-dds" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -13,11 +13,11 @@ default = [ "vendored-lua" ] vendored-lua = [ "mlua/vendored" ] [dependencies] -yazi-binding = { path = "../yazi-binding", version = "25.5.31" } -yazi-boot = { path = "../yazi-boot", version = "25.5.31" } -yazi-fs = { path = "../yazi-fs", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } +yazi-binding = { path = "../yazi-binding", version = "25.6.11" } +yazi-boot = { path = "../yazi-boot", version = "25.6.11" } +yazi-fs = { path = "../yazi-fs", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-ffi/Cargo.toml b/yazi-ffi/Cargo.toml index 63b55e9d..2c03bddd 100644 --- a/yazi-ffi/Cargo.toml +++ b/yazi-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-ffi" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -9,7 +9,7 @@ homepage = "https://yazi-rs.github.io" repository = "https://github.com/sxyazi/yazi" [dependencies] -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-fm/Cargo.toml b/yazi-fm/Cargo.toml index 2b62cdf2..9aa7cee8 100644 --- a/yazi-fm/Cargo.toml +++ b/yazi-fm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-fm" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -13,20 +13,20 @@ default = [ "vendored-lua" ] vendored-lua = [ "mlua/vendored" ] [dependencies] -yazi-adapter = { path = "../yazi-adapter", version = "25.5.31" } -yazi-binding = { path = "../yazi-binding", version = "25.5.31" } -yazi-boot = { path = "../yazi-boot", version = "25.5.31" } -yazi-codegen = { path = "../yazi-codegen", version = "25.5.31" } -yazi-config = { path = "../yazi-config", version = "25.5.31" } -yazi-core = { path = "../yazi-core", version = "25.5.31" } -yazi-dds = { path = "../yazi-dds", version = "25.5.31" } -yazi-fs = { path = "../yazi-fs", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-plugin = { path = "../yazi-plugin", version = "25.5.31" } -yazi-proxy = { path = "../yazi-proxy", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } -yazi-term = { path = "../yazi-term", version = "25.5.31" } -yazi-widgets = { path = "../yazi-widgets", version = "25.5.31" } +yazi-adapter = { path = "../yazi-adapter", version = "25.6.11" } +yazi-binding = { path = "../yazi-binding", version = "25.6.11" } +yazi-boot = { path = "../yazi-boot", version = "25.6.11" } +yazi-codegen = { path = "../yazi-codegen", version = "25.6.11" } +yazi-config = { path = "../yazi-config", version = "25.6.11" } +yazi-core = { path = "../yazi-core", version = "25.6.11" } +yazi-dds = { path = "../yazi-dds", version = "25.6.11" } +yazi-fs = { path = "../yazi-fs", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-plugin = { path = "../yazi-plugin", version = "25.6.11" } +yazi-proxy = { path = "../yazi-proxy", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } +yazi-term = { path = "../yazi-term", version = "25.6.11" } +yazi-widgets = { path = "../yazi-widgets", version = "25.6.11" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-fs/Cargo.toml b/yazi-fs/Cargo.toml index 7ade7593..de39f8f5 100644 --- a/yazi-fs/Cargo.toml +++ b/yazi-fs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-fs" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -9,9 +9,9 @@ homepage = "https://yazi-rs.github.io" repository = "https://github.com/sxyazi/yazi" [dependencies] -yazi-ffi = { path = "../yazi-ffi", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } +yazi-ffi = { path = "../yazi-ffi", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-macro/Cargo.toml b/yazi-macro/Cargo.toml index 955b37a5..38de735a 100644 --- a/yazi-macro/Cargo.toml +++ b/yazi-macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-macro" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] diff --git a/yazi-plugin/Cargo.toml b/yazi-plugin/Cargo.toml index bb4de872..056dcfbc 100644 --- a/yazi-plugin/Cargo.toml +++ b/yazi-plugin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-plugin" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -13,16 +13,16 @@ default = [ "vendored-lua" ] vendored-lua = [ "mlua/vendored" ] [dependencies] -yazi-adapter = { path = "../yazi-adapter", version = "25.5.31" } -yazi-binding = { path = "../yazi-binding", version = "25.5.31" } -yazi-boot = { path = "../yazi-boot", version = "25.5.31" } -yazi-config = { path = "../yazi-config", version = "25.5.31" } -yazi-dds = { path = "../yazi-dds", version = "25.5.31" } -yazi-fs = { path = "../yazi-fs", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-proxy = { path = "../yazi-proxy", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } -yazi-term = { path = "../yazi-term", version = "25.5.31" } +yazi-adapter = { path = "../yazi-adapter", version = "25.6.11" } +yazi-binding = { path = "../yazi-binding", version = "25.6.11" } +yazi-boot = { path = "../yazi-boot", version = "25.6.11" } +yazi-config = { path = "../yazi-config", version = "25.6.11" } +yazi-dds = { path = "../yazi-dds", version = "25.6.11" } +yazi-fs = { path = "../yazi-fs", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-proxy = { path = "../yazi-proxy", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } +yazi-term = { path = "../yazi-term", version = "25.6.11" } # External dependencies ansi-to-tui = { workspace = true } diff --git a/yazi-plugin/src/config/mod.rs b/yazi-plugin/src/config/mod.rs index b26d8c65..047fa62e 100644 --- a/yazi-plugin/src/config/mod.rs +++ b/yazi-plugin/src/config/mod.rs @@ -1 +1 @@ -yazi_macro::mod_flat!(plugin runtime theme); +yazi_macro::mod_flat!(plugin runtime term theme); diff --git a/yazi-plugin/src/config/runtime.rs b/yazi-plugin/src/config/runtime.rs index 0a9409ea..d1335f3b 100644 --- a/yazi-plugin/src/config/runtime.rs +++ b/yazi-plugin/src/config/runtime.rs @@ -1,5 +1,4 @@ use mlua::{IntoLua, Lua, LuaSerdeExt, SerializeOptions, Value}; -use yazi_adapter::EMULATOR; use yazi_binding::Url; use yazi_boot::ARGS; use yazi_config::YAZI; @@ -16,7 +15,7 @@ impl Runtime { Composer::make(lua, 10, |lua, key| { match key { b"args" => Self::args(lua)?, - b"term" => Self::term(lua)?, + b"term" => super::Term::compose(lua)?, b"mgr" => Self::mgr(lua)?, b"plugin" => super::Plugin::compose(lua)?, b"preview" => Self::preview(lua)?, @@ -36,10 +35,6 @@ impl Runtime { }) } - fn term(lua: &Lua) -> mlua::Result { - lua.create_table_from([("light", EMULATOR.get().light)])?.into_lua(lua) - } - fn mgr(lua: &Lua) -> mlua::Result { Composer::make(lua, 15, |lua, key| { let m = &YAZI.mgr; diff --git a/yazi-plugin/src/config/term.rs b/yazi-plugin/src/config/term.rs new file mode 100644 index 00000000..2fd20fe9 --- /dev/null +++ b/yazi-plugin/src/config/term.rs @@ -0,0 +1,26 @@ +use mlua::{Function, IntoLua, IntoLuaMulti, Lua, Value}; +use yazi_adapter::{Dimension, EMULATOR}; + +use crate::Composer; + +pub(super) struct Term; + +impl Term { + pub(super) fn compose(lua: &Lua) -> mlua::Result { + Composer::make(lua, 5, |lua, key| match key { + b"light" => EMULATOR.get().light.into_lua(lua), + b"cell_size" => Self::cell_size(lua)?.into_lua(lua), + _ => Ok(Value::Nil), + }) + } + + fn cell_size(lua: &Lua) -> mlua::Result { + lua.create_function(|lua, ()| { + if let Some(s) = Dimension::cell_size() { + s.into_lua_multi(lua) + } else { + ().into_lua_multi(lua) + } + }) + } +} diff --git a/yazi-plugin/src/elements/elements.rs b/yazi-plugin/src/elements/elements.rs index 2c218f02..75b01c89 100644 --- a/yazi-plugin/src/elements/elements.rs +++ b/yazi-plugin/src/elements/elements.rs @@ -27,6 +27,7 @@ pub fn compose(lua: &Lua) -> mlua::Result { b"Text" => super::Text::compose(lua)?, b"Wrap" => super::Wrap::compose(lua)?, + b"area" => super::Utils::area(lua)?, b"width" => super::Utils::width(lua)?, b"redraw" => super::Utils::redraw(lua)?, _ => return Ok(Value::Nil), diff --git a/yazi-plugin/src/elements/utils.rs b/yazi-plugin/src/elements/utils.rs index 2e15ef0a..5177189f 100644 --- a/yazi-plugin/src/elements/utils.rs +++ b/yazi-plugin/src/elements/utils.rs @@ -3,11 +3,25 @@ use tracing::error; use unicode_width::UnicodeWidthStr; use yazi_config::LAYOUT; -use super::{Line, Span}; +use super::{Line, Rect, Span}; pub(super) struct Utils; impl Utils { + pub(super) fn area(lua: &Lua) -> mlua::Result { + let f = lua.create_function(|_, s: mlua::String| { + let layout = LAYOUT.get(); + Ok(match s.as_bytes().as_ref() { + b"current" => Rect(layout.current), + b"preview" => Rect(layout.preview), + b"progress" => Rect(layout.progress), + _ => Err(format!("unknown area: {}", s.display()).into_lua_err())?, + }) + })?; + + f.into_lua(lua) + } + pub(super) fn width(lua: &Lua) -> mlua::Result { let f = lua.create_function(|_, v: Value| match v { Value::String(s) => { diff --git a/yazi-proxy/Cargo.toml b/yazi-proxy/Cargo.toml index d880b7bc..840c6f2a 100644 --- a/yazi-proxy/Cargo.toml +++ b/yazi-proxy/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-proxy" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -13,9 +13,9 @@ default = [ "vendored-lua" ] vendored-lua = [ "mlua/vendored" ] [dependencies] -yazi-config = { path = "../yazi-config", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } +yazi-config = { path = "../yazi-config", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-scheduler/Cargo.toml b/yazi-scheduler/Cargo.toml index d9c06234..1cfc2e5b 100644 --- a/yazi-scheduler/Cargo.toml +++ b/yazi-scheduler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-scheduler" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -9,13 +9,13 @@ homepage = "https://yazi-rs.github.io" repository = "https://github.com/sxyazi/yazi" [dependencies] -yazi-config = { path = "../yazi-config", version = "25.5.31" } -yazi-dds = { path = "../yazi-dds", version = "25.5.31" } -yazi-fs = { path = "../yazi-fs", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-plugin = { path = "../yazi-plugin", version = "25.5.31" } -yazi-proxy = { path = "../yazi-proxy", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } +yazi-config = { path = "../yazi-config", version = "25.6.11" } +yazi-dds = { path = "../yazi-dds", version = "25.6.11" } +yazi-fs = { path = "../yazi-fs", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-plugin = { path = "../yazi-plugin", version = "25.6.11" } +yazi-proxy = { path = "../yazi-proxy", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-shared/Cargo.toml b/yazi-shared/Cargo.toml index 2d15763a..e8a0c158 100644 --- a/yazi-shared/Cargo.toml +++ b/yazi-shared/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-shared" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -10,7 +10,7 @@ repository = "https://github.com/sxyazi/yazi" rust-version = "1.86.0" [dependencies] -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-term/Cargo.toml b/yazi-term/Cargo.toml index 1fe93fd8..8c535148 100644 --- a/yazi-term/Cargo.toml +++ b/yazi-term/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-term" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -9,8 +9,8 @@ homepage = "https://yazi-rs.github.io" repository = "https://github.com/sxyazi/yazi" [dependencies] -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } # Logging tracing = { workspace = true } diff --git a/yazi-widgets/Cargo.toml b/yazi-widgets/Cargo.toml index 6b550e1b..c6038573 100644 --- a/yazi-widgets/Cargo.toml +++ b/yazi-widgets/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-widgets" -version = "25.5.31" +version = "25.6.11" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -9,12 +9,12 @@ homepage = "https://yazi-rs.github.io" repository = "https://github.com/sxyazi/yazi" [dependencies] -yazi-codegen = { path = "../yazi-codegen", version = "25.5.31" } -yazi-config = { path = "../yazi-config", version = "25.5.31" } -yazi-macro = { path = "../yazi-macro", version = "25.5.31" } -yazi-plugin = { path = "../yazi-plugin", version = "25.5.31" } -yazi-proxy = { path = "../yazi-proxy", version = "25.5.31" } -yazi-shared = { path = "../yazi-shared", version = "25.5.31" } +yazi-codegen = { path = "../yazi-codegen", version = "25.6.11" } +yazi-config = { path = "../yazi-config", version = "25.6.11" } +yazi-macro = { path = "../yazi-macro", version = "25.6.11" } +yazi-plugin = { path = "../yazi-plugin", version = "25.6.11" } +yazi-proxy = { path = "../yazi-proxy", version = "25.6.11" } +yazi-shared = { path = "../yazi-shared", version = "25.6.11" } # External dependencies crossterm = { workspace = true }