diff --git a/Cargo.lock b/Cargo.lock index 6a5c18dd..1adb9a2c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -485,9 +485,9 @@ checksum = "64fa3c856b712db6612c019f14756e64e4bcea13337a6b33b696333a9eaa2d06" [[package]] name = "bytemuck" -version = "1.24.0" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fbdf580320f38b612e485521afda1ee26d10cc9884efaaa750d383e13e3c5f4" +checksum = "c8efb64bd706a16a1bdde310ae86b351e4d21550d98d056f22f8a7f7a2183fec" dependencies = [ "bytemuck_derive", ] @@ -541,9 +541,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.2.54" +version = "1.2.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583" +checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29" dependencies = [ "find-msvc-tools", "jobserver", @@ -600,9 +600,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.5.55" +version = "4.5.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e34525d5bbbd55da2bb745d34b36121baac88d07619a9a09cfcf4a6c0832785" +checksum = "a75ca66430e33a14957acc24c5077b503e7d374151b2b4b3a10c83b4ceb4be0e" dependencies = [ "clap_builder", "clap_derive", @@ -610,9 +610,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.5.55" +version = "4.5.56" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59a20016a20a3da95bef50ec7238dbd09baeef4311dcdd38ec15aba69812fb61" +checksum = "793207c7fa6300a0608d1080b858e5fdbe713cdc1c8db9fb17777d8a13e63df0" dependencies = [ "anstream", "anstyle", @@ -920,9 +920,9 @@ dependencies = [ [[package]] name = "crypto-common" -version = "0.2.0-rc.13" +version = "0.2.0-rc.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7722afd27468475c9b6063dc03a57ef2ca833816981619f8ebe64d38d207eef" +checksum = "5569e5de27d32e673283717728eb5b0e4f30898b523f151a19c51e6188006599" dependencies = [ "hybrid-array", ] @@ -1240,13 +1240,13 @@ dependencies = [ [[package]] name = "digest" -version = "0.11.0-rc.9" +version = "0.11.0-rc.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff8de092798697546237a3a701e4174fe021579faec9b854379af9bf1e31962" +checksum = "afa94b64bfc6549e6e4b5a3216f22593224174083da7a90db47e951c4fb31725" dependencies = [ "block-buffer 0.11.0", "const-oid 0.10.2", - "crypto-common 0.2.0-rc.13", + "crypto-common 0.2.0-rc.14", ] [[package]] @@ -1546,9 +1546,9 @@ dependencies = [ [[package]] name = "find-msvc-tools" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8591b0bcc8a98a64310a2fae1bb3e9b8564dd10e381e6e28010fde8e8e8568db" +checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" [[package]] name = "finl_unicode" @@ -2064,7 +2064,7 @@ checksum = "fe44f2bbd99fcb302e246e2d6bcf51aeda346d02a365f80296a07a8c711b6da6" dependencies = [ "argon2", "bcrypt-pbkdf", - "digest 0.11.0-rc.9", + "digest 0.11.0-rc.10", "ecdsa", "ed25519-dalek", "hex", @@ -3199,9 +3199,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.13.0" +version = "1.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f89776e4d69bb58bc6993e99ffa1d11f228b839984854c7daeb5d37f87cbe950" +checksum = "c33a9471896f1c69cecef8d20cbe2f7accd12527ce60845ff44c153bb2a21b49" [[package]] name = "powerfmt" @@ -3692,7 +3692,7 @@ dependencies = [ "const-oid 0.10.2", "crypto-bigint 0.7.0-rc.18", "crypto-primes", - "digest 0.11.0-rc.9", + "digest 0.11.0-rc.10", "pkcs1", "pkcs8 0.11.0-rc.10", "rand_core 0.10.0-rc-3", @@ -3888,9 +3888,9 @@ dependencies = [ [[package]] name = "schemars" -version = "1.2.0" +version = "1.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54e910108742c57a770f492731f99be216a52fadd361b06c8fb59d74ccc267d2" +checksum = "a2b42f36aa1cd011945615b92222f6bf73c599a102a300334cd7f8dbeec726cc" dependencies = [ "dyn-clone", "ref-cast", @@ -4009,7 +4009,7 @@ dependencies = [ "indexmap 1.9.3", "indexmap 2.13.0", "schemars 0.9.0", - "schemars 1.2.0", + "schemars 1.2.1", "serde_core", "serde_json", "serde_with_macros", @@ -4057,7 +4057,7 @@ checksum = "9c777f0a122a53fddb0beb6e706771197000b8eb5c9f42b5b850f450ef48c788" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.11.0-rc.9", + "digest 0.11.0-rc.10", ] [[package]] @@ -4079,7 +4079,7 @@ checksum = "7535f94fa3339fe9e5e9be6260a909e62af97f6e14b32345ccf79b92b8b81233" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.11.0-rc.9", + "digest 0.11.0-rc.10", ] [[package]] @@ -4166,7 +4166,7 @@ version = "3.0.0-rc.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597a96996ccff7dfa16f052bd995b4cecc72af22c35138738dc029f0ead6608d" dependencies = [ - "digest 0.11.0-rc.9", + "digest 0.11.0-rc.10", "rand_core 0.10.0-rc-3", ] @@ -4199,9 +4199,9 @@ checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e" [[package]] name = "slab" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a2ae44ef20feb57a68b23d846850f861394c2e02dc425a50098ae8c90267589" +checksum = "0c790de23124f9ab44544d7ac05d60440adc586479ce501c1d6d7da3cd8c9cf5" [[package]] name = "smallvec" @@ -5534,7 +5534,7 @@ checksum = "7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448" [[package]] name = "yazi-actor" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "crossterm 0.29.0", @@ -5571,7 +5571,7 @@ dependencies = [ [[package]] name = "yazi-adapter" -version = "26.1.22" +version = "26.2.2" dependencies = [ "ansi-to-tui", "anyhow", @@ -5594,7 +5594,7 @@ dependencies = [ [[package]] name = "yazi-binding" -version = "26.1.22" +version = "26.2.2" dependencies = [ "ansi-to-tui", "anyhow", @@ -5621,7 +5621,7 @@ dependencies = [ [[package]] name = "yazi-boot" -version = "26.1.22" +version = "26.2.2" dependencies = [ "clap", "clap_complete", @@ -5642,14 +5642,14 @@ dependencies = [ [[package]] name = "yazi-build" -version = "26.1.22" +version = "26.2.2" dependencies = [ "yazi-tty", ] [[package]] name = "yazi-cli" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "clap", @@ -5673,7 +5673,7 @@ dependencies = [ [[package]] name = "yazi-codegen" -version = "26.1.22" +version = "26.2.2" dependencies = [ "quote", "syn 2.0.114", @@ -5681,7 +5681,7 @@ dependencies = [ [[package]] name = "yazi-config" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "bitflags 2.10.0", @@ -5705,7 +5705,7 @@ dependencies = [ [[package]] name = "yazi-core" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "crossterm 0.29.0", @@ -5719,6 +5719,7 @@ dependencies = [ "tracing", "unicode-width", "yazi-adapter", + "yazi-binding", "yazi-config", "yazi-dds", "yazi-emulator", @@ -5736,7 +5737,7 @@ dependencies = [ [[package]] name = "yazi-dds" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "hashbrown 0.16.1", @@ -5762,7 +5763,7 @@ dependencies = [ [[package]] name = "yazi-emulator" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "crossterm 0.29.0", @@ -5777,7 +5778,7 @@ dependencies = [ [[package]] name = "yazi-ffi" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "core-foundation-sys", @@ -5788,7 +5789,7 @@ dependencies = [ [[package]] name = "yazi-fm" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "better-panic", @@ -5830,7 +5831,7 @@ dependencies = [ [[package]] name = "yazi-fs" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "arc-swap", @@ -5862,15 +5863,15 @@ dependencies = [ [[package]] name = "yazi-macro" -version = "26.1.22" +version = "26.2.2" [[package]] name = "yazi-packing" -version = "26.1.22" +version = "26.2.2" [[package]] name = "yazi-parser" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "bitflags 2.10.0", @@ -5895,7 +5896,7 @@ dependencies = [ [[package]] name = "yazi-plugin" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "crossterm 0.29.0", @@ -5941,9 +5942,10 @@ checksum = "33232d9116df6415ddfcdf72701b1b7439ce87f240a14723e8dd5d17e7ed5f98" [[package]] name = "yazi-proxy" -version = "26.1.22" +version = "26.2.2" dependencies = [ "tokio", + "yazi-binding", "yazi-config", "yazi-macro", "yazi-parser", @@ -5953,7 +5955,7 @@ dependencies = [ [[package]] name = "yazi-scheduler" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "async-priority-channel", @@ -5982,7 +5984,7 @@ dependencies = [ [[package]] name = "yazi-sftp" -version = "26.1.22" +version = "26.2.2" dependencies = [ "bitflags 2.10.0", "parking_lot", @@ -5994,7 +5996,7 @@ dependencies = [ [[package]] name = "yazi-shared" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "crossterm 0.29.0", @@ -6018,7 +6020,7 @@ dependencies = [ [[package]] name = "yazi-shim" -version = "26.1.22" +version = "26.2.2" dependencies = [ "crossterm 0.29.0", "twox-hash", @@ -6027,7 +6029,7 @@ dependencies = [ [[package]] name = "yazi-term" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "crossterm 0.29.0", @@ -6043,7 +6045,7 @@ dependencies = [ [[package]] name = "yazi-tty" -version = "26.1.22" +version = "26.2.2" dependencies = [ "libc", "parking_lot", @@ -6055,7 +6057,7 @@ dependencies = [ [[package]] name = "yazi-vfs" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "deadpool", @@ -6076,7 +6078,7 @@ dependencies = [ [[package]] name = "yazi-watcher" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "hashbrown 0.16.1", @@ -6097,7 +6099,7 @@ dependencies = [ [[package]] name = "yazi-widgets" -version = "26.1.22" +version = "26.2.2" dependencies = [ "anyhow", "base64", @@ -6118,18 +6120,18 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.8.35" +version = "0.8.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdea86ddd5568519879b8187e1cf04e24fce28f7fe046ceecbce472ff19a2572" +checksum = "7456cf00f0685ad319c5b1693f291a650eaf345e941d082fc4e03df8a03996ac" dependencies = [ "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.8.35" +version = "0.8.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c15e1b46eff7c6c91195752e0eeed8ef040e391cdece7c25376957d5f15df22" +checksum = "1328722bbf2115db7e19d69ebcc15e795719e2d66b60827c6a69a117365e37a0" dependencies = [ "proc-macro2", "quote", @@ -6158,9 +6160,9 @@ dependencies = [ [[package]] name = "zmij" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439" +checksum = "1966f8ac2c1f76987d69a74d0e0f929241c10e78136434e3be70ff7f58f64214" [[package]] name = "zune-core" diff --git a/Cargo.toml b/Cargo.toml index 74662127..be2fea27 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -30,7 +30,7 @@ ansi-to-tui = "8.0.1" anyhow = "1.0.100" base64 = "0.22.1" bitflags = { version = "2.10.0", features = [ "serde" ] } -clap = { version = "4.5.55", features = [ "derive" ] } +clap = { version = "4.5.56", features = [ "derive" ] } core-foundation-sys = "0.8.7" crossterm = { version = "0.29.0", features = [ "event-stream" ] } dirs = "6.0.0" diff --git a/yazi-actor/Cargo.toml b/yazi-actor/Cargo.toml index 9e75f99d..c036360a 100644 --- a/yazi-actor/Cargo.toml +++ b/yazi-actor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-actor" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -16,24 +16,24 @@ default = [ "vendored-lua" ] vendored-lua = [ "mlua/vendored" ] [dependencies] -yazi-binding = { path = "../yazi-binding", version = "26.1.22" } -yazi-boot = { path = "../yazi-boot", version = "26.1.22" } -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-core = { path = "../yazi-core", version = "26.1.22" } -yazi-dds = { path = "../yazi-dds", version = "26.1.22" } -yazi-emulator = { path = "../yazi-emulator", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-parser = { path = "../yazi-parser", version = "26.1.22" } -yazi-plugin = { path = "../yazi-plugin", version = "26.1.22" } -yazi-proxy = { path = "../yazi-proxy", version = "26.1.22" } -yazi-scheduler = { path = "../yazi-scheduler", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-term = { path = "../yazi-term", version = "26.1.22" } -yazi-tty = { path = "../yazi-tty", version = "26.1.22" } -yazi-vfs = { path = "../yazi-vfs", version = "26.1.22" } -yazi-watcher = { path = "../yazi-watcher", version = "26.1.22" } -yazi-widgets = { path = "../yazi-widgets", version = "26.1.22" } +yazi-binding = { path = "../yazi-binding", version = "26.2.2" } +yazi-boot = { path = "../yazi-boot", version = "26.2.2" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-core = { path = "../yazi-core", version = "26.2.2" } +yazi-dds = { path = "../yazi-dds", version = "26.2.2" } +yazi-emulator = { path = "../yazi-emulator", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-parser = { path = "../yazi-parser", version = "26.2.2" } +yazi-plugin = { path = "../yazi-plugin", version = "26.2.2" } +yazi-proxy = { path = "../yazi-proxy", version = "26.2.2" } +yazi-scheduler = { path = "../yazi-scheduler", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-term = { path = "../yazi-term", version = "26.2.2" } +yazi-tty = { path = "../yazi-tty", version = "26.2.2" } +yazi-vfs = { path = "../yazi-vfs", version = "26.2.2" } +yazi-watcher = { path = "../yazi-watcher", version = "26.2.2" } +yazi-widgets = { path = "../yazi-widgets", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-actor/src/app/plugin_do.rs b/yazi-actor/src/app/plugin_do.rs index 518e22f8..e2f6ee3b 100644 --- a/yazi-actor/src/app/plugin_do.rs +++ b/yazi-actor/src/app/plugin_do.rs @@ -36,7 +36,7 @@ impl Actor for PluginDo { let blocking = runtime_mut!(LUA)?.critical_push(&opt.id, true); defer! { _ = runtime_mut!(LUA).map(|mut r| r.critical_pop(blocking)) } - let plugin = match LOADER.load_with(&LUA, &opt.id, chunk) { + let plugin = match LOADER.load_chunk(&LUA, &opt.id, chunk) { Ok(t) => t, Err(e) => succ!(warn!("{e}")), }; diff --git a/yazi-actor/src/lives/which.rs b/yazi-actor/src/lives/which.rs index c4bc6cbe..66016cfd 100644 --- a/yazi-actor/src/lives/which.rs +++ b/yazi-actor/src/lives/which.rs @@ -8,6 +8,7 @@ use super::{Lives, PtrCell}; pub(super) struct Which { inner: PtrCell, + v_tx: Option, v_cands: Option, } @@ -19,12 +20,13 @@ impl Deref for Which { impl Which { pub(super) fn make(inner: &yazi_core::which::Which) -> mlua::Result { - Lives::scoped_userdata(Self { inner: inner.into(), v_cands: None }) + Lives::scoped_userdata(Self { inner: inner.into(), v_tx: None, v_cands: None }) } } impl UserData for Which { fn add_fields>(fields: &mut F) { + cached_field!(fields, tx, |_, me| Ok(me.tx.clone().map(yazi_binding::MpscUnboundedTx))); fields.add_field_method_get("times", |_, me| Ok(me.inner.times)); cached_field!(fields, cands, |lua, me| { lua.create_sequence_from(me.inner.cands.iter().cloned().map(yazi_binding::ChordCow)) diff --git a/yazi-actor/src/which/activate.rs b/yazi-actor/src/which/activate.rs index 24cdc387..796851af 100644 --- a/yazi-actor/src/which/activate.rs +++ b/yazi-actor/src/which/activate.rs @@ -23,6 +23,7 @@ impl Actor for Activate { } let which = &mut cx.which; + which.tx = opt.tx; which.times = opt.times; which.cands = opt.cands; diff --git a/yazi-actor/src/which/callback.rs b/yazi-actor/src/which/callback.rs deleted file mode 100644 index 0e0d6f7d..00000000 --- a/yazi-actor/src/which/callback.rs +++ /dev/null @@ -1,19 +0,0 @@ -use anyhow::Result; -use yazi_macro::succ; -use yazi_parser::which::CallbackOpt; -use yazi_shared::data::Data; - -use crate::{Actor, Ctx}; - -pub struct Callback; - -impl Actor for Callback { - type Options = CallbackOpt; - - const NAME: &str = "callback"; - - fn act(_: &mut Ctx, opt: Self::Options) -> Result { - opt.tx.send(opt.idx)?; - succ!(); - } -} diff --git a/yazi-actor/src/which/dismiss.rs b/yazi-actor/src/which/dismiss.rs new file mode 100644 index 00000000..1423c2cb --- /dev/null +++ b/yazi-actor/src/which/dismiss.rs @@ -0,0 +1,18 @@ +use anyhow::Result; +use yazi_macro::succ; +use yazi_parser::VoidOpt; +use yazi_shared::data::Data; + +use crate::{Actor, Ctx}; + +pub struct Dismiss; + +impl Actor for Dismiss { + type Options = VoidOpt; + + const NAME: &str = "dismiss"; + + fn act(cx: &mut Ctx, _: Self::Options) -> Result { + succ!(cx.which.dismiss(None)); + } +} diff --git a/yazi-actor/src/which/mod.rs b/yazi-actor/src/which/mod.rs index bb2bf97a..fb07775e 100644 --- a/yazi-actor/src/which/mod.rs +++ b/yazi-actor/src/which/mod.rs @@ -1 +1 @@ -yazi_macro::mod_flat!(activate callback); +yazi_macro::mod_flat!(activate dismiss); diff --git a/yazi-adapter/Cargo.toml b/yazi-adapter/Cargo.toml index ced68daa..bb306d8c 100644 --- a/yazi-adapter/Cargo.toml +++ b/yazi-adapter/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-adapter" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,12 +12,12 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-emulator = { path = "../yazi-emulator", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-tty = { path = "../yazi-tty", version = "26.1.22" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-emulator = { path = "../yazi-emulator", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-tty = { path = "../yazi-tty", version = "26.2.2" } # External dependencies ansi-to-tui = { workspace = true } diff --git a/yazi-binding/Cargo.toml b/yazi-binding/Cargo.toml index 4df43500..3c17fee0 100644 --- a/yazi-binding/Cargo.toml +++ b/yazi-binding/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-binding" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -16,14 +16,14 @@ default = [ "vendored-lua" ] vendored-lua = [ "mlua/vendored" ] [dependencies] -yazi-adapter = { path = "../yazi-adapter", version = "26.1.22" } -yazi-codegen = { path = "../yazi-codegen", version = "26.1.22" } -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-vfs = { path = "../yazi-vfs", version = "26.1.22" } -yazi-widgets = { path = "../yazi-widgets", version = "26.1.22" } +yazi-adapter = { path = "../yazi-adapter", version = "26.2.2" } +yazi-codegen = { path = "../yazi-codegen", version = "26.2.2" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-vfs = { path = "../yazi-vfs", version = "26.2.2" } +yazi-widgets = { path = "../yazi-widgets", version = "26.2.2" } # External dependencies ansi-to-tui = { workspace = true } diff --git a/yazi-binding/src/chan.rs b/yazi-binding/src/chan.rs index 1e30294c..7c2d0376 100644 --- a/yazi-binding/src/chan.rs +++ b/yazi-binding/src/chan.rs @@ -1,14 +1,16 @@ -use mlua::{ExternalError, IntoLuaMulti, UserData, Value}; +use mlua::{ExternalError, FromLua, IntoLua, IntoLuaMulti, UserData, Value}; +use yazi_codegen::FromLuaOwned; use crate::Error; -pub struct MpscTx(pub tokio::sync::mpsc::Sender); -pub struct MpscRx(pub tokio::sync::mpsc::Receiver); +#[derive(FromLuaOwned)] +pub struct MpscTx(pub tokio::sync::mpsc::Sender); +pub struct MpscRx(pub tokio::sync::mpsc::Receiver); -impl UserData for MpscTx { +impl UserData for MpscTx { fn add_methods>(methods: &mut M) { methods.add_async_method("send", |lua, me, value: Value| async move { - match me.0.send(value).await { + match me.0.send(T::from_lua(value, &lua)?).await { Ok(()) => true.into_lua_multi(&lua), Err(e) => (false, Error::custom(e.to_string())).into_lua_multi(&lua), } @@ -16,7 +18,7 @@ impl UserData for MpscTx { } } -impl UserData for MpscRx { +impl UserData for MpscRx { fn add_methods>(methods: &mut M) { methods.add_async_method_mut("recv", |lua, mut me, ()| async move { match me.0.recv().await { @@ -27,19 +29,20 @@ impl UserData for MpscRx { } } -pub struct MpscUnboundedTx(pub tokio::sync::mpsc::UnboundedSender); -pub struct MpscUnboundedRx(pub tokio::sync::mpsc::UnboundedReceiver); +#[derive(FromLuaOwned)] +pub struct MpscUnboundedTx(pub tokio::sync::mpsc::UnboundedSender); +pub struct MpscUnboundedRx(pub tokio::sync::mpsc::UnboundedReceiver); -impl UserData for MpscUnboundedTx { +impl UserData for MpscUnboundedTx { fn add_methods>(methods: &mut M) { - methods.add_method("send", |lua, me, value: Value| match me.0.send(value) { + methods.add_method("send", |lua, me, value: Value| match me.0.send(T::from_lua(value, lua)?) { Ok(()) => true.into_lua_multi(lua), Err(e) => (false, Error::custom(e.to_string())).into_lua_multi(lua), }); } } -impl UserData for MpscUnboundedRx { +impl UserData for MpscUnboundedRx { fn add_methods>(methods: &mut M) { methods.add_async_method_mut("recv", |lua, mut me, ()| async move { match me.0.recv().await { @@ -50,16 +53,17 @@ impl UserData for MpscUnboundedRx { } } -pub struct OneshotTx(pub Option>); -pub struct OneshotRx(pub Option>); +#[derive(FromLuaOwned)] +pub struct OneshotTx(pub Option>); +pub struct OneshotRx(pub Option>); -impl UserData for OneshotTx { +impl UserData for OneshotTx { fn add_methods>(methods: &mut M) { methods.add_method_mut("send", |lua, me, value: Value| { let Some(tx) = me.0.take() else { return Err("Oneshot sender already used".into_lua_err()); }; - match tx.send(value) { + match tx.send(T::from_lua(value, lua)?) { Ok(()) => true.into_lua_multi(lua), Err(_) => (false, Error::custom("Oneshot receiver closed")).into_lua_multi(lua), } @@ -67,7 +71,7 @@ impl UserData for OneshotTx { } } -impl UserData for OneshotRx { +impl UserData for OneshotRx { fn add_methods>(methods: &mut M) { methods.add_async_method_mut("recv", |lua, mut me, ()| async move { let Some(rx) = me.0.take() else { diff --git a/yazi-binding/src/chord_cow.rs b/yazi-binding/src/chord_cow.rs index b381b93c..dc5821db 100644 --- a/yazi-binding/src/chord_cow.rs +++ b/yazi-binding/src/chord_cow.rs @@ -4,6 +4,10 @@ use yazi_codegen::FromLuaOwned; #[derive(Clone, FromLuaOwned)] pub struct ChordCow(pub yazi_config::keymap::ChordCow); +impl From for ChordCow { + fn from(value: yazi_config::keymap::ChordCow) -> Self { Self(value) } +} + impl From for yazi_config::keymap::ChordCow { fn from(value: ChordCow) -> Self { value.0 } } diff --git a/yazi-boot/Cargo.toml b/yazi-boot/Cargo.toml index e1803b33..eec28fe1 100644 --- a/yazi-boot/Cargo.toml +++ b/yazi-boot/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-boot" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,13 +12,13 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-adapter = { path = "../yazi-adapter", version = "26.1.22" } -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-emulator = { path = "../yazi-emulator", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-vfs = { path = "../yazi-vfs", version = "26.1.22" } +yazi-adapter = { path = "../yazi-adapter", version = "26.2.2" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-emulator = { path = "../yazi-emulator", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-vfs = { path = "../yazi-vfs", version = "26.2.2" } # External dependencies clap = { workspace = true } @@ -27,7 +27,7 @@ hashbrown = { workspace = true } regex = { workspace = true } [build-dependencies] -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } # External dependencies clap = { workspace = true } diff --git a/yazi-build/Cargo.toml b/yazi-build/Cargo.toml index ab72c4b0..6d36e203 100644 --- a/yazi-build/Cargo.toml +++ b/yazi-build/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-build" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -18,7 +18,7 @@ panic = "abort" strip = true [build-dependencies] -yazi-tty = { path = "../yazi-tty", version = "26.1.22" } +yazi-tty = { path = "../yazi-tty", version = "26.2.2" } [[bin]] name = "yazi-build" diff --git a/yazi-cli/Cargo.toml b/yazi-cli/Cargo.toml index a6ac05e9..e7d14ccd 100644 --- a/yazi-cli/Cargo.toml +++ b/yazi-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-cli" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -22,12 +22,12 @@ inherits = "release" panic = "unwind" [dependencies] -yazi-boot = { path = "../yazi-boot", version = "26.1.22" } -yazi-dds = { path = "../yazi-dds", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-shim = { path = "../yazi-shim", version = "26.1.22" } +yazi-boot = { path = "../yazi-boot", version = "26.2.2" } +yazi-dds = { path = "../yazi-dds", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-shim = { path = "../yazi-shim", version = "26.2.2" } # External dependencies anyhow = { workspace = true } @@ -40,7 +40,7 @@ toml = { workspace = true } twox-hash = { workspace = true } [build-dependencies] -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } # External build dependencies anyhow = { workspace = true } diff --git a/yazi-codegen/Cargo.toml b/yazi-codegen/Cargo.toml index 3b75e411..2f30c108 100644 --- a/yazi-codegen/Cargo.toml +++ b/yazi-codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-codegen" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] diff --git a/yazi-config/Cargo.toml b/yazi-config/Cargo.toml index bda51c21..91764e24 100644 --- a/yazi-config/Cargo.toml +++ b/yazi-config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-config" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,11 +12,11 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-codegen = { path = "../yazi-codegen", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-tty = { path = "../yazi-tty", version = "26.1.22" } +yazi-codegen = { path = "../yazi-codegen", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-tty = { path = "../yazi-tty", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-core/Cargo.toml b/yazi-core/Cargo.toml index cc64d624..47d7ec8b 100644 --- a/yazi-core/Cargo.toml +++ b/yazi-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-core" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,20 +12,21 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-adapter = { path = "../yazi-adapter", version = "26.1.22" } -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-dds = { path = "../yazi-dds", version = "26.1.22" } -yazi-emulator = { path = "../yazi-emulator", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-parser = { path = "../yazi-parser", version = "26.1.22" } -yazi-plugin = { path = "../yazi-plugin", version = "26.1.22" } -yazi-proxy = { path = "../yazi-proxy", version = "26.1.22" } -yazi-scheduler = { path = "../yazi-scheduler", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-vfs = { path = "../yazi-vfs", version = "26.1.22" } -yazi-watcher = { path = "../yazi-watcher", version = "26.1.22" } -yazi-widgets = { path = "../yazi-widgets", version = "26.1.22" } +yazi-adapter = { path = "../yazi-adapter", version = "26.2.2" } +yazi-binding = { path = "../yazi-binding", version = "26.2.2" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-dds = { path = "../yazi-dds", version = "26.2.2" } +yazi-emulator = { path = "../yazi-emulator", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-parser = { path = "../yazi-parser", version = "26.2.2" } +yazi-plugin = { path = "../yazi-plugin", version = "26.2.2" } +yazi-proxy = { path = "../yazi-proxy", version = "26.2.2" } +yazi-scheduler = { path = "../yazi-scheduler", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-vfs = { path = "../yazi-vfs", version = "26.2.2" } +yazi-watcher = { path = "../yazi-watcher", version = "26.2.2" } +yazi-widgets = { path = "../yazi-widgets", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-core/src/which/which.rs b/yazi-core/src/which/which.rs index 78a82328..3c50a3b4 100644 --- a/yazi-core/src/which/which.rs +++ b/yazi-core/src/which/which.rs @@ -1,8 +1,10 @@ +use tokio::sync::mpsc; use yazi_config::keymap::{ChordCow, Key}; use yazi_macro::{emit, render_and}; #[derive(Default)] pub struct Which { + pub tx: Option>>, pub times: usize, pub cands: Vec, @@ -17,23 +19,30 @@ impl Which { self.times += 1; if self.cands.is_empty() { - self.reset(); + self.dismiss(None); } else if self.cands.len() == 1 { - emit!(Seq(self.cands.remove(0).into_seq())); - self.reset(); + let chord = self.cands.remove(0); + self.dismiss(Some(chord)); } else if let Some(i) = self.cands.iter().position(|c| c.on.len() == self.times) { - emit!(Seq(self.cands.remove(i).into_seq())); - self.reset(); + let chord = self.cands.remove(i); + self.dismiss(Some(chord)); } render_and!(true) } - fn reset(&mut self) { + pub fn dismiss(&mut self, chord: Option) { self.times = 0; self.cands.clear(); self.active = false; self.silent = false; + + if let Some(tx) = self.tx.take() { + _ = tx.send(chord.clone().map(Into::into)); + } + if let Some(chord) = chord { + emit!(Seq(chord.into_seq())); + } } } diff --git a/yazi-dds/Cargo.toml b/yazi-dds/Cargo.toml index 2e8d638f..8d01109a 100644 --- a/yazi-dds/Cargo.toml +++ b/yazi-dds/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-dds" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -16,13 +16,13 @@ default = [ "vendored-lua" ] vendored-lua = [ "mlua/vendored" ] [dependencies] -yazi-binding = { path = "../yazi-binding", version = "26.1.22" } -yazi-boot = { path = "../yazi-boot", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-parser = { path = "../yazi-parser", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-widgets = { path = "../yazi-widgets", version = "26.1.22" } +yazi-binding = { path = "../yazi-binding", version = "26.2.2" } +yazi-boot = { path = "../yazi-boot", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-parser = { path = "../yazi-parser", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-widgets = { path = "../yazi-widgets", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-dds/src/spark/spark.rs b/yazi-dds/src/spark/spark.rs index e83e455c..ae2a4c5f 100644 --- a/yazi-dds/src/spark/spark.rs +++ b/yazi-dds/src/spark/spark.rs @@ -147,8 +147,8 @@ pub enum Spark<'a> { TasksUpdateSucceed(yazi_parser::tasks::UpdateSucceedOpt), // Which - WhichCallback(yazi_parser::which::CallbackOpt), WhichActivate(yazi_parser::which::ActivateOpt), + WhichDismiss(yazi_parser::VoidOpt), } impl<'a> Spark<'a> { @@ -318,8 +318,8 @@ impl<'a> IntoLua for Spark<'a> { Self::TasksUpdateSucceed(b) => b.into_lua(lua), // Which - Self::WhichCallback(b) => b.into_lua(lua), Self::WhichActivate(b) => b.into_lua(lua), + Self::WhichDismiss(b) => b.into_lua(lua), } } } @@ -343,7 +343,8 @@ try_from_spark!( mgr:search_stop, mgr:suspend, mgr:unyank, - mgr:watch + mgr:watch, + which:dismiss ); // App @@ -415,7 +416,6 @@ try_from_spark!(yazi_parser::spot::CopyOpt, spot:copy); try_from_spark!(yazi_parser::tasks::ProcessOpenOpt, tasks:process_open); try_from_spark!(yazi_parser::tasks::UpdateSucceedOpt, tasks:update_succeed); try_from_spark!(yazi_parser::which::ActivateOpt, which:activate); -try_from_spark!(yazi_parser::which::CallbackOpt, which:callback); try_from_spark!(yazi_widgets::input::parser::BackspaceOpt, input:backspace); try_from_spark!(yazi_widgets::input::parser::BackwardOpt, input:backward); try_from_spark!(yazi_widgets::input::parser::CompleteOpt, input:complete); diff --git a/yazi-emulator/Cargo.toml b/yazi-emulator/Cargo.toml index 4c6c28fe..6b1d4a52 100644 --- a/yazi-emulator/Cargo.toml +++ b/yazi-emulator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-emulator" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,9 +12,9 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-tty = { path = "../yazi-tty", version = "26.1.22" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-tty = { path = "../yazi-tty", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-ffi/Cargo.toml b/yazi-ffi/Cargo.toml index 0e26d6b7..51721812 100644 --- a/yazi-ffi/Cargo.toml +++ b/yazi-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-ffi" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,7 +12,7 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-fm/Cargo.toml b/yazi-fm/Cargo.toml index 9b28f810..9d7236b6 100644 --- a/yazi-fm/Cargo.toml +++ b/yazi-fm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-fm" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -26,25 +26,25 @@ default = [ "vendored-lua" ] vendored-lua = [ "mlua/vendored" ] [dependencies] -yazi-actor = { path = "../yazi-actor", version = "26.1.22" } -yazi-adapter = { path = "../yazi-adapter", version = "26.1.22" } -yazi-binding = { path = "../yazi-binding", version = "26.1.22" } -yazi-boot = { path = "../yazi-boot", version = "26.1.22" } -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-core = { path = "../yazi-core", version = "26.1.22" } -yazi-dds = { path = "../yazi-dds", version = "26.1.22" } -yazi-emulator = { path = "../yazi-emulator", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-parser = { path = "../yazi-parser", version = "26.1.22" } -yazi-plugin = { path = "../yazi-plugin", version = "26.1.22" } -yazi-proxy = { path = "../yazi-proxy", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-term = { path = "../yazi-term", version = "26.1.22" } -yazi-tty = { path = "../yazi-tty", version = "26.1.22" } -yazi-vfs = { path = "../yazi-vfs", version = "26.1.22" } -yazi-watcher = { path = "../yazi-watcher", version = "26.1.22" } -yazi-widgets = { path = "../yazi-widgets", version = "26.1.22" } +yazi-actor = { path = "../yazi-actor", version = "26.2.2" } +yazi-adapter = { path = "../yazi-adapter", version = "26.2.2" } +yazi-binding = { path = "../yazi-binding", version = "26.2.2" } +yazi-boot = { path = "../yazi-boot", version = "26.2.2" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-core = { path = "../yazi-core", version = "26.2.2" } +yazi-dds = { path = "../yazi-dds", version = "26.2.2" } +yazi-emulator = { path = "../yazi-emulator", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-parser = { path = "../yazi-parser", version = "26.2.2" } +yazi-plugin = { path = "../yazi-plugin", version = "26.2.2" } +yazi-proxy = { path = "../yazi-proxy", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-term = { path = "../yazi-term", version = "26.2.2" } +yazi-tty = { path = "../yazi-tty", version = "26.2.2" } +yazi-vfs = { path = "../yazi-vfs", version = "26.2.2" } +yazi-watcher = { path = "../yazi-watcher", version = "26.2.2" } +yazi-widgets = { path = "../yazi-widgets", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-fm/src/executor.rs b/yazi-fm/src/executor.rs index 123f40f4..922dd3eb 100644 --- a/yazi-fm/src/executor.rs +++ b/yazi-fm/src/executor.rs @@ -352,7 +352,7 @@ impl<'a> Executor<'a> { } on!(activate); - on!(callback); + on!(dismiss); succ!(); } diff --git a/yazi-fs/Cargo.toml b/yazi-fs/Cargo.toml index e45f61da..efeafa74 100644 --- a/yazi-fs/Cargo.toml +++ b/yazi-fs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-fs" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,10 +12,10 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-ffi = { path = "../yazi-ffi", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-shim = { path = "../yazi-shim", version = "26.1.22" } +yazi-ffi = { path = "../yazi-ffi", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-shim = { path = "../yazi-shim", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-macro/Cargo.toml b/yazi-macro/Cargo.toml index e439863c..0f5e586f 100644 --- a/yazi-macro/Cargo.toml +++ b/yazi-macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-macro" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] diff --git a/yazi-packing/Cargo.toml b/yazi-packing/Cargo.toml index 90f59c1e..5d6dc1c3 100644 --- a/yazi-packing/Cargo.toml +++ b/yazi-packing/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-packing" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] diff --git a/yazi-parser/Cargo.toml b/yazi-parser/Cargo.toml index 318d108a..ab9e8d2f 100644 --- a/yazi-parser/Cargo.toml +++ b/yazi-parser/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-parser" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -16,14 +16,14 @@ default = [ "vendored-lua" ] vendored-lua = [ "mlua/vendored" ] [dependencies] -yazi-binding = { path = "../yazi-binding", version = "26.1.22" } -yazi-boot = { path = "../yazi-boot", version = "26.1.22" } -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-vfs = { path = "../yazi-vfs", version = "26.1.22" } -yazi-widgets = { path = "../yazi-widgets", version = "26.1.22" } +yazi-binding = { path = "../yazi-binding", version = "26.2.2" } +yazi-boot = { path = "../yazi-boot", version = "26.2.2" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-vfs = { path = "../yazi-vfs", version = "26.2.2" } +yazi-widgets = { path = "../yazi-widgets", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-parser/src/which/activate.rs b/yazi-parser/src/which/activate.rs index f717a006..73fca637 100644 --- a/yazi-parser/src/which/activate.rs +++ b/yazi-parser/src/which/activate.rs @@ -1,9 +1,11 @@ use mlua::{ExternalError, FromLua, IntoLua, Lua, Table, Value}; +use tokio::sync::mpsc; use yazi_config::{KEYMAP, keymap::{ChordCow, Key}}; use yazi_shared::{Layer, event::CmdCow}; #[derive(Clone, Debug)] pub struct ActivateOpt { + pub tx: Option>>, pub cands: Vec, pub silent: bool, pub times: usize, @@ -18,6 +20,7 @@ impl TryFrom for ActivateOpt { } Ok(Self { + tx: c.take_any2("tx").transpose()?, cands: c.take_any_iter::().map(Into::into).collect(), silent: c.bool("silent"), times: c.get("times").unwrap_or(0), @@ -28,6 +31,7 @@ impl TryFrom for ActivateOpt { impl From<(Layer, Key)> for ActivateOpt { fn from((layer, key): (Layer, Key)) -> Self { Self { + tx: None, cands: KEYMAP .get(layer) .iter() @@ -47,6 +51,7 @@ impl FromLua for ActivateOpt { }; Ok(Self { + tx: t.raw_get::>("tx").ok().map(|t| t.0), cands: t .raw_get::("cands")? .sequence_values::() @@ -63,6 +68,7 @@ impl IntoLua for ActivateOpt { fn into_lua(self, lua: &Lua) -> mlua::Result { lua .create_table_from([ + ("tx", self.tx.map(yazi_binding::MpscUnboundedTx).into_lua(lua)?), ("cands", lua.create_sequence_from(self.cands.into_iter().map(yazi_binding::ChordCow))?.into_lua(lua)?), ("times", self.times.into_lua(lua)?), ("silent", self.silent.into_lua(lua)?), diff --git a/yazi-parser/src/which/callback.rs b/yazi-parser/src/which/callback.rs deleted file mode 100644 index 26078a7c..00000000 --- a/yazi-parser/src/which/callback.rs +++ /dev/null @@ -1,34 +0,0 @@ -use anyhow::bail; -use mlua::{ExternalError, FromLua, IntoLua, Lua, Value}; -use tokio::sync::mpsc; -use yazi_shared::event::CmdCow; - -#[derive(Debug)] -pub struct CallbackOpt { - pub tx: mpsc::UnboundedSender, - pub idx: usize, -} - -impl TryFrom for CallbackOpt { - type Error = anyhow::Error; - - fn try_from(mut c: CmdCow) -> Result { - let Some(tx) = c.take_any("tx") else { - bail!("Invalid 'tx' in CallbackOpt"); - }; - - let Ok(idx) = c.first() else { - bail!("Invalid 'idx' in CallbackOpt"); - }; - - Ok(Self { tx, idx }) - } -} - -impl FromLua for CallbackOpt { - fn from_lua(_: Value, _: &Lua) -> mlua::Result { Err("unsupported".into_lua_err()) } -} - -impl IntoLua for CallbackOpt { - fn into_lua(self, _: &Lua) -> mlua::Result { Err("unsupported".into_lua_err()) } -} diff --git a/yazi-parser/src/which/mod.rs b/yazi-parser/src/which/mod.rs index bb2bf97a..d064d12d 100644 --- a/yazi-parser/src/which/mod.rs +++ b/yazi-parser/src/which/mod.rs @@ -1 +1 @@ -yazi_macro::mod_flat!(activate callback); +yazi_macro::mod_flat!(activate); diff --git a/yazi-plugin/Cargo.toml b/yazi-plugin/Cargo.toml index 9c7641db..7be3aa62 100644 --- a/yazi-plugin/Cargo.toml +++ b/yazi-plugin/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-plugin" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -16,20 +16,20 @@ default = [ "vendored-lua" ] vendored-lua = [ "mlua/vendored" ] [dependencies] -yazi-adapter = { path = "../yazi-adapter", version = "26.1.22" } -yazi-binding = { path = "../yazi-binding", version = "26.1.22" } -yazi-boot = { path = "../yazi-boot", version = "26.1.22" } -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-dds = { path = "../yazi-dds", version = "26.1.22" } -yazi-emulator = { path = "../yazi-emulator", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-parser = { path = "../yazi-parser", version = "26.1.22" } -yazi-proxy = { path = "../yazi-proxy", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-shim = { path = "../yazi-shim", version = "26.1.22" } -yazi-vfs = { path = "../yazi-vfs", version = "26.1.22" } -yazi-widgets = { path = "../yazi-widgets", version = "26.1.22" } +yazi-adapter = { path = "../yazi-adapter", version = "26.2.2" } +yazi-binding = { path = "../yazi-binding", version = "26.2.2" } +yazi-boot = { path = "../yazi-boot", version = "26.2.2" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-dds = { path = "../yazi-dds", version = "26.2.2" } +yazi-emulator = { path = "../yazi-emulator", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-parser = { path = "../yazi-parser", version = "26.2.2" } +yazi-proxy = { path = "../yazi-proxy", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-shim = { path = "../yazi-shim", version = "26.2.2" } +yazi-vfs = { path = "../yazi-vfs", version = "26.2.2" } +yazi-widgets = { path = "../yazi-widgets", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-plugin/src/isolate/entry.rs b/yazi-plugin/src/isolate/entry.rs index f7527fb6..fde8e6ab 100644 --- a/yazi-plugin/src/isolate/entry.rs +++ b/yazi-plugin/src/isolate/entry.rs @@ -13,9 +13,8 @@ pub async fn entry(opt: PluginOpt) -> mlua::Result<()> { let lua = slim_lua(&opt.id)?; let job = lua.create_table_from([("args", Sendable::args_to_table(&lua, opt.args)?)])?; - Handle::current().block_on(async { - LOADER.load_once(&lua, &opt.id).await?.call_async_method("entry", job).await - }) + Handle::current() + .block_on(async { LOADER.load(&lua, &opt.id).await?.call_async_method("entry", job).await }) }) .await .into_lua_err()? diff --git a/yazi-plugin/src/isolate/fetch.rs b/yazi-plugin/src/isolate/fetch.rs index 2d44bd06..7fb2f72e 100644 --- a/yazi-plugin/src/isolate/fetch.rs +++ b/yazi-plugin/src/isolate/fetch.rs @@ -23,9 +23,8 @@ pub async fn fetch( ("files", lua.create_sequence_from(files.into_iter().map(File::new))?.into_lua(&lua)?), ])?; - Handle::current().block_on(async { - LOADER.load_once(&lua, &cmd.name).await?.call_async_method("fetch", job).await - }) + Handle::current() + .block_on(async { LOADER.load(&lua, &cmd.name).await?.call_async_method("fetch", job).await }) }) .await .into_lua_err()? diff --git a/yazi-plugin/src/isolate/peek.rs b/yazi-plugin/src/isolate/peek.rs index 0697a0ee..eddb41d1 100644 --- a/yazi-plugin/src/isolate/peek.rs +++ b/yazi-plugin/src/isolate/peek.rs @@ -89,7 +89,7 @@ fn peek_async( }, )?; - let plugin = LOADER.load_once(&lua, &cmd.name).await?; + let plugin = LOADER.load(&lua, &cmd.name).await?; let job = lua.create_table_from([ ("area", Rect::from(LAYOUT.get().preview).into_lua(&lua)?), ("args", Sendable::args_to_table_ref(&lua, &cmd.args)?.into_lua(&lua)?), diff --git a/yazi-plugin/src/isolate/preload.rs b/yazi-plugin/src/isolate/preload.rs index 90ac21e8..f112d1a2 100644 --- a/yazi-plugin/src/isolate/preload.rs +++ b/yazi-plugin/src/isolate/preload.rs @@ -31,7 +31,7 @@ pub async fn preload( }, )?; - let plugin = LOADER.load_once(&lua, &cmd.name).await?; + let plugin = LOADER.load(&lua, &cmd.name).await?; let job = lua.create_table_from([ ("area", Rect::from(LAYOUT.get().preview).into_lua(&lua)?), ("args", Sendable::args_to_table_ref(&lua, &cmd.args)?.into_lua(&lua)?), diff --git a/yazi-plugin/src/isolate/spot.rs b/yazi-plugin/src/isolate/spot.rs index 0d9db6a3..308cfe63 100644 --- a/yazi-plugin/src/isolate/spot.rs +++ b/yazi-plugin/src/isolate/spot.rs @@ -36,7 +36,7 @@ pub fn spot( }, )?; - let plugin = LOADER.load_once(&lua, &cmd.name).await?; + let plugin = LOADER.load(&lua, &cmd.name).await?; let job = lua.create_table_from([ ("id", Id(IDS.next()).into_lua(&lua)?), ("args", Sendable::args_to_table_ref(&lua, &cmd.args)?.into_lua(&lua)?), diff --git a/yazi-plugin/src/loader/loader.rs b/yazi-plugin/src/loader/loader.rs index 944cf69c..481b9743 100644 --- a/yazi-plugin/src/loader/loader.rs +++ b/yazi-plugin/src/loader/loader.rs @@ -105,14 +105,14 @@ impl Loader { return Ok(t); } - let t = self.load_once(lua, id).await?; + let t = self.load_new(lua, id).await?; t.raw_set("_id", lua.create_string(id)?)?; loaded.raw_set(id, t.clone())?; Ok(t) } - pub async fn load_once(&self, lua: &Lua, id: &str) -> mlua::Result
{ + async fn load_new(&self, lua: &Lua, id: &str) -> mlua::Result
{ let (id, ..) = Self::normalize_id(id)?; let mut mode = ChunkMode::Text; @@ -135,12 +135,7 @@ impl Loader { f.call_async(()).await } - pub fn try_load(&self, lua: &Lua, id: &str) -> mlua::Result
{ - let (id, ..) = Self::normalize_id(id)?; - lua.globals().raw_get::
("package")?.raw_get::
("loaded")?.raw_get(id) - } - - pub fn load_with(&self, lua: &Lua, id: &str, chunk: &Chunk) -> mlua::Result
{ + pub fn load_chunk(&self, lua: &Lua, id: &str, chunk: &Chunk) -> mlua::Result
{ let (id, ..) = Self::normalize_id(id)?; let loaded: Table = lua.globals().raw_get::
("package")?.raw_get("loaded")?; @@ -155,6 +150,11 @@ impl Loader { Ok(t) } + pub fn try_load(&self, lua: &Lua, id: &str) -> mlua::Result
{ + let (id, ..) = Self::normalize_id(id)?; + lua.globals().raw_get::
("package")?.raw_get::
("loaded")?.raw_get(id) + } + pub fn compatible_or_error(id: &str, chunk: &Chunk) -> Result<()> { if chunk.compatible() { return Ok(()); diff --git a/yazi-plugin/src/utils/layer.rs b/yazi-plugin/src/utils/layer.rs index e8d1f099..ffc8f1cd 100644 --- a/yazi-plugin/src/utils/layer.rs +++ b/yazi-plugin/src/utils/layer.rs @@ -1,14 +1,13 @@ use std::{str::FromStr, time::Duration}; use mlua::{ExternalError, ExternalResult, Function, IntoLuaMulti, Lua, Table, Value}; -use tokio::sync::mpsc; use tokio_stream::wrappers::UnboundedReceiverStream; use yazi_binding::{InputRx, elements::{Line, Pos, Text}, runtime}; use yazi_config::{keymap::{Chord, ChordCow, Key}, popup::{ConfirmCfg, InputCfg}}; use yazi_macro::relay; -use yazi_parser::{notify::PushOpt, which::ActivateOpt}; +use yazi_parser::notify::PushOpt; use yazi_proxy::{ConfirmProxy, InputProxy, NotifyProxy, WhichProxy}; -use yazi_shared::Debounce; +use yazi_shared::{Debounce, Layer}; use super::Utils; @@ -19,7 +18,6 @@ impl Utils { return Err("Cannot call `ya.which()` while main thread is blocked".into_lua_err()); } - let (tx, mut rx) = mpsc::unbounded_channel::(); let cands: Vec<_> = t .raw_get::
("cands")? .sequence_values::
() @@ -28,17 +26,21 @@ impl Utils { let cand = cand?; Ok(ChordCow::Owned(Chord { on: Self::parse_keys(cand.raw_get("on")?)?, - run: vec![relay!(which:callback, [i]).with_any("tx", tx.clone())], + run: vec![relay!(which:callback, [i + 1])], desc: cand.raw_get("desc").ok(), r#for: None, })) }) .collect::>()?; - drop(tx); - WhichProxy::activate(ActivateOpt { cands, times: 0, silent: t.raw_get("silent")? }); + let idx: Option = WhichProxy::activate(cands, t.raw_get("silent")?) + .await + .iter() + .flat_map(|chord| &chord.run) + .find(|cmd| cmd.layer == Layer::Which && cmd.name == "callback") + .and_then(|cmd| cmd.first().ok()); - Ok(rx.recv().await.map(|idx| idx + 1)) + Ok(idx) }) } diff --git a/yazi-proxy/Cargo.toml b/yazi-proxy/Cargo.toml index 0ae77a46..337f27c4 100644 --- a/yazi-proxy/Cargo.toml +++ b/yazi-proxy/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-proxy" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,11 +12,12 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-parser = { path = "../yazi-parser", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-widgets = { path = "../yazi-widgets", version = "26.1.22" } +yazi-binding = { path = "../yazi-binding", version = "26.2.2" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-parser = { path = "../yazi-parser", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-widgets = { path = "../yazi-widgets", version = "26.2.2" } # External dependencies tokio = { workspace = true } diff --git a/yazi-proxy/src/which.rs b/yazi-proxy/src/which.rs index 45d4a511..53250bde 100644 --- a/yazi-proxy/src/which.rs +++ b/yazi-proxy/src/which.rs @@ -1,10 +1,19 @@ +use tokio::sync::mpsc; +use yazi_config::keymap::ChordCow; use yazi_macro::{emit, relay}; use yazi_parser::which::ActivateOpt; pub struct WhichProxy; impl WhichProxy { - pub fn activate(opt: ActivateOpt) { - emit!(Call(relay!(which:activate).with_any("opt", opt))); + pub async fn activate(cands: Vec, silent: bool) -> Option { + let (tx, mut rx) = mpsc::unbounded_channel(); + emit!(Call(relay!(which:activate).with_any("opt", ActivateOpt { + tx: Some(tx), + cands, + silent, + times: 0, + }))); + Some(rx.recv().await??.0) } } diff --git a/yazi-scheduler/Cargo.toml b/yazi-scheduler/Cargo.toml index 653f2441..678d4154 100644 --- a/yazi-scheduler/Cargo.toml +++ b/yazi-scheduler/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-scheduler" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,16 +12,16 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-binding = { path = "../yazi-binding", version = "26.1.22" } -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-dds = { path = "../yazi-dds", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-parser = { path = "../yazi-parser", version = "26.1.22" } -yazi-plugin = { path = "../yazi-plugin", version = "26.1.22" } -yazi-proxy = { path = "../yazi-proxy", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-vfs = { path = "../yazi-vfs", version = "26.1.22" } +yazi-binding = { path = "../yazi-binding", version = "26.2.2" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-dds = { path = "../yazi-dds", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-parser = { path = "../yazi-parser", version = "26.2.2" } +yazi-plugin = { path = "../yazi-plugin", version = "26.2.2" } +yazi-proxy = { path = "../yazi-proxy", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-vfs = { path = "../yazi-vfs", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-sftp/Cargo.toml b/yazi-sftp/Cargo.toml index 3d17ebbc..2d995027 100644 --- a/yazi-sftp/Cargo.toml +++ b/yazi-sftp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-sftp" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "AspectUnk", "sxyazi " ] diff --git a/yazi-shared/Cargo.toml b/yazi-shared/Cargo.toml index d0b19181..3b01e66b 100644 --- a/yazi-shared/Cargo.toml +++ b/yazi-shared/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-shared" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -13,7 +13,7 @@ rust-version = "1.92.0" workspace = true [dependencies] -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-shim/Cargo.toml b/yazi-shim/Cargo.toml index b701a873..4b03e3d2 100644 --- a/yazi-shim/Cargo.toml +++ b/yazi-shim/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-shim" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,7 +12,7 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } # External dependencies crossterm = { workspace = true } diff --git a/yazi-term/Cargo.toml b/yazi-term/Cargo.toml index 92a45ad1..7394c87d 100644 --- a/yazi-term/Cargo.toml +++ b/yazi-term/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-term" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,12 +12,12 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-emulator = { path = "../yazi-emulator", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-shim = { path = "../yazi-shim", version = "26.1.22" } -yazi-tty = { path = "../yazi-tty", version = "26.1.22" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-emulator = { path = "../yazi-emulator", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-shim = { path = "../yazi-shim", version = "26.2.2" } +yazi-tty = { path = "../yazi-tty", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-tty/Cargo.toml b/yazi-tty/Cargo.toml index f2de9f00..25bb4dec 100644 --- a/yazi-tty/Cargo.toml +++ b/yazi-tty/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-tty" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,8 +12,8 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } # External dependencies parking_lot = { workspace = true } diff --git a/yazi-vfs/Cargo.toml b/yazi-vfs/Cargo.toml index 04acbefb..f2fd10e0 100644 --- a/yazi-vfs/Cargo.toml +++ b/yazi-vfs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-vfs" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,11 +12,11 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-sftp = { path = "../yazi-sftp", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-sftp = { path = "../yazi-sftp", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-watcher/Cargo.toml b/yazi-watcher/Cargo.toml index 951cba73..2d42fcf3 100644 --- a/yazi-watcher/Cargo.toml +++ b/yazi-watcher/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-watcher" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,13 +12,13 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-adapter = { path = "../yazi-adapter", version = "26.1.22" } -yazi-dds = { path = "../yazi-dds", version = "26.1.22" } -yazi-fs = { path = "../yazi-fs", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-proxy = { path = "../yazi-proxy", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-vfs = { path = "../yazi-vfs", version = "26.1.22" } +yazi-adapter = { path = "../yazi-adapter", version = "26.2.2" } +yazi-dds = { path = "../yazi-dds", version = "26.2.2" } +yazi-fs = { path = "../yazi-fs", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-proxy = { path = "../yazi-proxy", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-vfs = { path = "../yazi-vfs", version = "26.2.2" } # External dependencies anyhow = { workspace = true } diff --git a/yazi-widgets/Cargo.toml b/yazi-widgets/Cargo.toml index 0bd8ae44..1a7aa823 100644 --- a/yazi-widgets/Cargo.toml +++ b/yazi-widgets/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "yazi-widgets" -version = "26.1.22" +version = "26.2.2" edition = "2024" license = "MIT" authors = [ "sxyazi " ] @@ -12,11 +12,11 @@ repository = "https://github.com/sxyazi/yazi" workspace = true [dependencies] -yazi-adapter = { path = "../yazi-adapter", version = "26.1.22" } -yazi-config = { path = "../yazi-config", version = "26.1.22" } -yazi-macro = { path = "../yazi-macro", version = "26.1.22" } -yazi-shared = { path = "../yazi-shared", version = "26.1.22" } -yazi-tty = { path = "../yazi-tty", version = "26.1.22" } +yazi-adapter = { path = "../yazi-adapter", version = "26.2.2" } +yazi-config = { path = "../yazi-config", version = "26.2.2" } +yazi-macro = { path = "../yazi-macro", version = "26.2.2" } +yazi-shared = { path = "../yazi-shared", version = "26.2.2" } +yazi-tty = { path = "../yazi-tty", version = "26.2.2" } # External dependencies anyhow = { workspace = true }