fix: warnings should be output to stderr instead of stdout (#1669)

This commit is contained in:
三咲雅 · Misaki Masa 2024-09-21 19:54:01 +08:00 committed by sxyazi
parent 1a1820cf77
commit 631afd09ee
No known key found for this signature in database
143 changed files with 266 additions and 280 deletions

114
Cargo.lock generated
View file

@ -4,9 +4,9 @@ version = 3
[[package]] [[package]]
name = "addr2line" name = "addr2line"
version = "0.22.0" version = "0.24.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" checksum = "f5fb1d8e4442bd405fdfd1dacb42792696b0cf9cb15882e5d097b742a676d375"
dependencies = [ dependencies = [
"gimli", "gimli",
] ]
@ -135,9 +135,9 @@ dependencies = [
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.88" version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4e1496f8fb1fbf272686b8d37f523dab3e4a7443300055e74cdaa449f3114356" checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6"
[[package]] [[package]]
name = "arbitrary" name = "arbitrary"
@ -208,17 +208,17 @@ dependencies = [
[[package]] [[package]]
name = "backtrace" name = "backtrace"
version = "0.3.73" version = "0.3.74"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a"
dependencies = [ dependencies = [
"addr2line", "addr2line",
"cc",
"cfg-if", "cfg-if",
"libc", "libc",
"miniz_oxide 0.7.4", "miniz_oxide 0.8.0",
"object", "object",
"rustc-demangle", "rustc-demangle",
"windows-targets 0.52.6",
] ]
[[package]] [[package]]
@ -330,9 +330,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
[[package]] [[package]]
name = "bytes" name = "bytes"
version = "1.7.1" version = "1.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3"
[[package]] [[package]]
name = "cassowary" name = "cassowary"
@ -351,9 +351,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.1.17" version = "1.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a93fe60e2fc87b6ba2c117f67ae14f66e3fc7d6a1e612a25adb238cc980eadb3" checksum = "07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0"
dependencies = [ dependencies = [
"jobserver", "jobserver",
"libc", "libc",
@ -390,9 +390,9 @@ dependencies = [
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.5.17" version = "4.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac" checksum = "b0956a43b323ac1afaffc053ed5c4b7c1f1800bacd1683c353aabbb752515dd3"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@ -400,9 +400,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.5.17" version = "4.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73" checksum = "4d72166dd41634086d5803a47eb71ae740e61d84709c36f3c34110173db3961b"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -412,9 +412,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_complete" name = "clap_complete"
version = "4.5.26" version = "4.5.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "205d5ef6d485fa47606b98b0ddc4ead26eb850aaa86abfb562a94fb3280ecba0" checksum = "8937760c3f4c60871870b8c3ee5f9b30771f792a7045c48bcbba999d7d6b3b8e"
dependencies = [ dependencies = [
"clap", "clap",
] ]
@ -441,9 +441,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_derive" name = "clap_derive"
version = "4.5.13" version = "4.5.18"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab"
dependencies = [ dependencies = [
"heck", "heck",
"proc-macro2", "proc-macro2",
@ -752,9 +752,9 @@ dependencies = [
[[package]] [[package]]
name = "error-code" name = "error-code"
version = "3.2.0" version = "3.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b" checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f"
[[package]] [[package]]
name = "event-listener" name = "event-listener"
@ -978,18 +978,6 @@ dependencies = [
"wasi", "wasi",
] ]
[[package]]
name = "getset"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e45727250e75cc04ff2846a66397da8ef2b3db8e40e0cef4df67950a07621eb9"
dependencies = [
"proc-macro-error",
"proc-macro2",
"quote",
"syn 1.0.109",
]
[[package]] [[package]]
name = "gif" name = "gif"
version = "0.13.1" version = "0.13.1"
@ -1002,9 +990,9 @@ dependencies = [
[[package]] [[package]]
name = "gimli" name = "gimli"
version = "0.29.0" version = "0.31.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" checksum = "32085ea23f3234fc7846555e85283ba4de91e21016dc0455a16286d87a292d64"
[[package]] [[package]]
name = "globset" name = "globset"
@ -1062,9 +1050,9 @@ dependencies = [
[[package]] [[package]]
name = "iana-time-zone" name = "iana-time-zone"
version = "0.1.60" version = "0.1.61"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220"
dependencies = [ dependencies = [
"android_system_properties", "android_system_properties",
"core-foundation-sys", "core-foundation-sys",
@ -1482,9 +1470,9 @@ dependencies = [
[[package]] [[package]]
name = "mlua-sys" name = "mlua-sys"
version = "0.6.2" version = "0.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ab7a5b4756b8177a2dfa8e0bbcde63bd4000afbc4ab20cbb68d114a25470f29" checksum = "ebe026d6bd1583a9cf9080e189030ddaea7e6f5f0deb366a8e26f8a26c4135b8"
dependencies = [ dependencies = [
"cc", "cc",
"cfg-if", "cfg-if",
@ -1733,9 +1721,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39"
[[package]] [[package]]
name = "parking" name = "parking"
version = "2.2.0" version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba"
[[package]] [[package]]
name = "parking_lot" name = "parking_lot"
@ -2038,9 +2026,9 @@ dependencies = [
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.5.3" version = "0.5.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" checksum = "0884ad60e090bf1345b93da0a5de8923c93884cd03f40dfcfddd3b4bee661853"
dependencies = [ dependencies = [
"bitflags 2.6.0", "bitflags 2.6.0",
] ]
@ -2108,9 +2096,9 @@ checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152"
[[package]] [[package]]
name = "rustix" name = "rustix"
version = "0.38.36" version = "0.38.37"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f55e80d50763938498dd5ebb18647174e0c76dc38c5505294bb224624f30f36" checksum = "8acb788b847c24f28525660c4d7758620a7210875711f79e7f663cc152726811"
dependencies = [ dependencies = [
"bitflags 2.6.0", "bitflags 2.6.0",
"errno", "errno",
@ -2356,7 +2344,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote",
"unicode-ident", "unicode-ident",
] ]
@ -2597,9 +2584,9 @@ dependencies = [
[[package]] [[package]]
name = "toml_edit" name = "toml_edit"
version = "0.22.20" version = "0.22.21"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" checksum = "3b072cee73c449a636ffd6f32bd8de3a9f7119139aff882f44943ce2986dc5cf"
dependencies = [ dependencies = [
"indexmap", "indexmap",
"serde", "serde",
@ -2714,24 +2701,24 @@ checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.12" version = "1.0.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe"
[[package]] [[package]]
name = "unicode-normalization" name = "unicode-normalization"
version = "0.1.23" version = "0.1.24"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956"
dependencies = [ dependencies = [
"tinyvec", "tinyvec",
] ]
[[package]] [[package]]
name = "unicode-segmentation" name = "unicode-segmentation"
version = "1.11.0" version = "1.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
[[package]] [[package]]
name = "unicode-truncate" name = "unicode-truncate"
@ -2746,9 +2733,9 @@ dependencies = [
[[package]] [[package]]
name = "unicode-width" name = "unicode-width"
version = "0.1.13" version = "0.1.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
[[package]] [[package]]
name = "url" name = "url"
@ -2832,9 +2819,9 @@ checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"
[[package]] [[package]]
name = "vergen" name = "vergen"
version = "9.0.0" version = "9.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c32e7318e93a9ac53693b6caccfb05ff22e04a44c7cf8a279051f24c09da286f" checksum = "349ed9e45296a581f455bc18039878f409992999bc1d5da12a6800eb18c8752f"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"derive_builder", "derive_builder",
@ -2845,9 +2832,9 @@ dependencies = [
[[package]] [[package]]
name = "vergen-gitcl" name = "vergen-gitcl"
version = "1.0.0" version = "1.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3bbdc9746577cb4767f218d320ee0b623d415e8130332f8f562b910b61cc2c4e" checksum = "2a3a7f91caabecefc3c249fd864b11d4abe315c166fbdb568964421bccfd2b7a"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"derive_builder", "derive_builder",
@ -2859,13 +2846,12 @@ dependencies = [
[[package]] [[package]]
name = "vergen-lib" name = "vergen-lib"
version = "0.1.3" version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e06bee42361e43b60f363bad49d63798d0f42fb1768091812270eca00c784720" checksum = "229eaddb0050920816cf051e619affaf18caa3dd512de8de5839ccbc8e53abb0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"derive_builder", "derive_builder",
"getset",
"rustversion", "rustversion",
] ]

View file

@ -11,11 +11,11 @@ strip = true
[workspace.dependencies] [workspace.dependencies]
ansi-to-tui = "6.0.0" ansi-to-tui = "6.0.0"
anyhow = "1.0.88" anyhow = "1.0.89"
arc-swap = "1.7.1" arc-swap = "1.7.1"
base64 = "0.22.1" base64 = "0.22.1"
bitflags = "2.6.0" bitflags = "2.6.0"
clap = { version = "4.5.17", features = [ "derive" ] } clap = { version = "4.5.18", features = [ "derive" ] }
crossterm = { version = "0.28.1", features = [ "event-stream" ] } crossterm = { version = "0.28.1", features = [ "event-stream" ] }
dirs = "5.0.1" dirs = "5.0.1"
futures = "0.3.30" futures = "0.3.30"
@ -34,5 +34,5 @@ tokio = { version = "1.40.0", features = [ "full" ] }
tokio-stream = "0.1.16" tokio-stream = "0.1.16"
tokio-util = "0.7.12" tokio-util = "0.7.12"
tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] } tracing = { version = "0.1.40", features = [ "max_level_debug", "release_max_level_warn" ] }
unicode-width = "0.1.13" unicode-width = "0.1.14"
uzers = "0.12.1" uzers = "0.12.1"

View file

@ -1,6 +1,6 @@
color = "Never" color = "Never"
condense_wildcard_suffixes = true condense_wildcard_suffixes = true
edition = "2021" edition = "2024"
enum_discrim_align_threshold = 99 enum_discrim_align_threshold = 99
fn_single_line = true fn_single_line = true
format_code_in_doc_comments = false format_code_in_doc_comments = false
@ -10,7 +10,7 @@ format_macro_bodies = true
format_strings = false format_strings = false
hard_tabs = true hard_tabs = true
hex_literal_case = "Lower" hex_literal_case = "Lower"
hide_parse_errors = true show_parse_errors = false
imports_indent = "Visual" imports_indent = "Visual"
imports_layout = "Horizontal" imports_layout = "Horizontal"
imports_granularity = "Crate" imports_granularity = "Crate"
@ -27,5 +27,5 @@ unstable_features = true
use_field_init_shorthand = true use_field_init_shorthand = true
use_small_heuristics = "Max" use_small_heuristics = "Max"
use_try_shorthand = true use_try_shorthand = true
version = "Two" style_edition = "2024"
wrap_comments = true wrap_comments = true

View file

@ -6,7 +6,7 @@ use tracing::warn;
use yazi_shared::env_exists; use yazi_shared::env_exists;
use super::{Iip, Kitty, KittyOld}; use super::{Iip, Kitty, KittyOld};
use crate::{Chafa, Emulator, Sixel, Ueberzug, SHOWN, TMUX, WSL}; use crate::{Chafa, Emulator, SHOWN, Sixel, TMUX, Ueberzug, WSL};
#[derive(Clone, Copy, PartialEq, Eq, Debug)] #[derive(Clone, Copy, PartialEq, Eq, Debug)]
pub enum Adapter { pub enum Adapter {

View file

@ -1,7 +1,7 @@
use std::{io::Write, path::Path, process::Stdio}; use std::{io::Write, path::Path, process::Stdio};
use ansi_to_tui::IntoText; use ansi_to_tui::IntoText;
use anyhow::{bail, Result}; use anyhow::{Result, bail};
use crossterm::{cursor::MoveTo, queue}; use crossterm::{cursor::MoveTo, queue};
use ratatui::layout::Rect; use ratatui::layout::Rect;
use tokio::process::Command; use tokio::process::Command;

View file

@ -1,13 +1,13 @@
use std::{env, io::{stderr, LineWriter}, time::Duration}; use std::{env, io::{LineWriter, stderr}, time::Duration};
use anyhow::{anyhow, bail, Result}; use anyhow::{Result, anyhow, bail};
use crossterm::{cursor::{RestorePosition, SavePosition}, execute, style::Print, terminal::{disable_raw_mode, enable_raw_mode}}; use crossterm::{cursor::{RestorePosition, SavePosition}, execute, style::Print, terminal::{disable_raw_mode, enable_raw_mode}};
use scopeguard::defer; use scopeguard::defer;
use tokio::{io::{AsyncReadExt, BufReader}, time::timeout}; use tokio::{io::{AsyncReadExt, BufReader}, time::timeout};
use tracing::{error, warn}; use tracing::{error, warn};
use yazi_shared::env_exists; use yazi_shared::env_exists;
use crate::{tcsi, Adapter, TMUX}; use crate::{Adapter, TMUX, tcsi};
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
pub enum Emulator { pub enum Emulator {

View file

@ -1,14 +1,14 @@
use std::{fmt::Write, io::Write as ioWrite, path::Path}; use std::{fmt::Write, io::Write as ioWrite, path::Path};
use anyhow::Result; use anyhow::Result;
use base64::{engine::{general_purpose::STANDARD, Config}, Engine}; use base64::{Engine, engine::{Config, general_purpose::STANDARD}};
use crossterm::{cursor::MoveTo, queue}; use crossterm::{cursor::MoveTo, queue};
use image::{codecs::{jpeg::JpegEncoder, png::PngEncoder}, DynamicImage, ExtendedColorType, ImageEncoder}; use image::{DynamicImage, ExtendedColorType, ImageEncoder, codecs::{jpeg::JpegEncoder, png::PngEncoder}};
use ratatui::layout::Rect; use ratatui::layout::Rect;
use yazi_config::PREVIEW; use yazi_config::PREVIEW;
use super::image::Image; use super::image::Image;
use crate::{adapter::Adapter, Emulator, CLOSE, START}; use crate::{CLOSE, Emulator, START, adapter::Adapter};
pub(super) struct Iip; pub(super) struct Iip;

View file

@ -2,7 +2,7 @@ use std::{fs::File, io::BufReader, path::{Path, PathBuf}};
use anyhow::Result; use anyhow::Result;
use exif::{In, Tag}; use exif::{In, Tag};
use image::{codecs::{jpeg::JpegEncoder, png::PngEncoder}, imageops::{self, FilterType}, DynamicImage, ExtendedColorType, ImageEncoder, ImageError, Limits}; use image::{DynamicImage, ExtendedColorType, ImageEncoder, ImageError, Limits, codecs::{jpeg::JpegEncoder, png::PngEncoder}, imageops::{self, FilterType}};
use ratatui::layout::Rect; use ratatui::layout::Rect;
use yazi_config::{PREVIEW, TASKS}; use yazi_config::{PREVIEW, TASKS};

View file

@ -2,13 +2,13 @@ use core::str;
use std::{io::Write, path::Path}; use std::{io::Write, path::Path};
use anyhow::Result; use anyhow::Result;
use base64::{engine::general_purpose, Engine}; use base64::{Engine, engine::general_purpose};
use crossterm::{cursor::MoveTo, queue}; use crossterm::{cursor::MoveTo, queue};
use image::DynamicImage; use image::DynamicImage;
use ratatui::layout::Rect; use ratatui::layout::Rect;
use super::image::Image; use super::image::Image;
use crate::{adapter::Adapter, Emulator, CLOSE, ESCAPE, START}; use crate::{CLOSE, ESCAPE, Emulator, START, adapter::Adapter};
static DIACRITICS: [char; 297] = [ static DIACRITICS: [char; 297] = [
'\u{0305}', '\u{0305}',

View file

@ -1,13 +1,13 @@
use core::str; use core::str;
use std::{io::{stderr, LineWriter, Write}, path::Path}; use std::{io::{LineWriter, Write, stderr}, path::Path};
use anyhow::Result; use anyhow::Result;
use base64::{engine::general_purpose, Engine}; use base64::{Engine, engine::general_purpose};
use image::DynamicImage; use image::DynamicImage;
use ratatui::layout::Rect; use ratatui::layout::Rect;
use super::image::Image; use super::image::Image;
use crate::{adapter::Adapter, Emulator, CLOSE, ESCAPE, START}; use crate::{CLOSE, ESCAPE, Emulator, START, adapter::Adapter};
pub(super) struct KittyOld; pub(super) struct KittyOld;

View file

@ -20,7 +20,7 @@ use kitty::*;
use kitty_old::*; use kitty_old::*;
use sixel::*; use sixel::*;
use ueberzug::*; use ueberzug::*;
use yazi_shared::{env_exists, in_wsl, RoCell}; use yazi_shared::{RoCell, env_exists, in_wsl};
pub use crate::image::*; pub use crate::image::*;

View file

@ -1,13 +1,13 @@
use std::{io::Write, path::Path}; use std::{io::Write, path::Path};
use anyhow::{bail, Result}; use anyhow::{Result, bail};
use color_quant::NeuQuant; use color_quant::NeuQuant;
use crossterm::{cursor::MoveTo, queue}; use crossterm::{cursor::MoveTo, queue};
use image::DynamicImage; use image::DynamicImage;
use ratatui::layout::Rect; use ratatui::layout::Rect;
use yazi_config::PREVIEW; use yazi_config::PREVIEW;
use crate::{adapter::Adapter, Emulator, Image, CLOSE, ESCAPE, START}; use crate::{CLOSE, ESCAPE, Emulator, Image, START, adapter::Adapter};
pub(super) struct Sixel; pub(super) struct Sixel;

View file

@ -1,12 +1,12 @@
use std::{path::{Path, PathBuf}, process::Stdio}; use std::{path::{Path, PathBuf}, process::Stdio};
use anyhow::{bail, Result}; use anyhow::{Result, bail};
use imagesize::ImageSize; use imagesize::ImageSize;
use ratatui::layout::Rect; use ratatui::layout::Rect;
use tokio::{io::AsyncWriteExt, process::{Child, Command}, sync::mpsc::{self, UnboundedSender}}; use tokio::{io::AsyncWriteExt, process::{Child, Command}, sync::mpsc::{self, UnboundedSender}};
use tracing::{debug, warn}; use tracing::{debug, warn};
use yazi_config::PREVIEW; use yazi_config::PREVIEW;
use yazi_shared::{env_exists, RoCell}; use yazi_shared::{RoCell, env_exists};
use crate::{Adapter, Dimension}; use crate::{Adapter, Dimension};

View file

@ -20,7 +20,7 @@ serde = { workspace = true }
[build-dependencies] [build-dependencies]
clap = { workspace = true } clap = { workspace = true }
clap_complete = "4.5.26" clap_complete = "4.5.29"
clap_complete_fig = "4.5.2" clap_complete_fig = "4.5.2"
clap_complete_nushell = "4.5.3" clap_complete_nushell = "4.5.3"
vergen-gitcl = { version = "1.0.0", features = [ "build" ] } vergen-gitcl = { version = "1.0.1", features = [ "build" ] }

View file

@ -4,7 +4,7 @@ mod args;
use std::{env, error::Error}; use std::{env, error::Error};
use clap::CommandFactory; use clap::CommandFactory;
use clap_complete::{generate_to, Shell}; use clap_complete::{Shell, generate_to};
use vergen_gitcl::{BuildBuilder, Emitter, GitclBuilder}; use vergen_gitcl::{BuildBuilder, Emitter, GitclBuilder};
fn main() -> Result<(), Box<dyn Error>> { fn main() -> Result<(), Box<dyn Error>> {

View file

@ -1,6 +1,6 @@
use std::path::PathBuf; use std::path::PathBuf;
use clap::{command, Parser}; use clap::{Parser, command};
#[derive(Debug, Default, Parser)] #[derive(Debug, Default, Parser)]
#[command(name = "yazi")] #[command(name = "yazi")]

View file

@ -1,7 +1,7 @@
use std::{collections::HashSet, ffi::OsString, path::PathBuf}; use std::{collections::HashSet, ffi::OsString, path::PathBuf};
use serde::Serialize; use serde::Serialize;
use yazi_shared::{fs::{current_cwd, expand_path}, Xdg}; use yazi_shared::{Xdg, fs::{current_cwd, expand_path}};
#[derive(Debug, Default, Serialize)] #[derive(Debug, Default, Serialize)]
pub struct Boot { pub struct Boot {

View file

@ -20,7 +20,7 @@ crossterm = { workspace = true }
md-5 = { workspace = true } md-5 = { workspace = true }
serde_json = { workspace = true } serde_json = { workspace = true }
tokio = { workspace = true } tokio = { workspace = true }
toml_edit = "0.22.20" toml_edit = "0.22.21"
[build-dependencies] [build-dependencies]
yazi-shared = { path = "../yazi-shared", version = "0.3.3" } yazi-shared = { path = "../yazi-shared", version = "0.3.3" }
@ -28,11 +28,11 @@ yazi-shared = { path = "../yazi-shared", version = "0.3.3" }
# External build dependencies # External build dependencies
anyhow = { workspace = true } anyhow = { workspace = true }
clap = { workspace = true } clap = { workspace = true }
clap_complete = "4.5.26" clap_complete = "4.5.29"
clap_complete_fig = "4.5.2" clap_complete_fig = "4.5.2"
clap_complete_nushell = "4.5.3" clap_complete_nushell = "4.5.3"
serde_json = { workspace = true } serde_json = { workspace = true }
vergen-gitcl = { version = "1.0.0", features = [ "build" ] } vergen-gitcl = { version = "1.0.1", features = [ "build" ] }
[target.'cfg(target_os = "macos")'.dependencies] [target.'cfg(target_os = "macos")'.dependencies]
crossterm = { workspace = true, features = [ "use-dev-tty", "libc" ] } crossterm = { workspace = true, features = [ "use-dev-tty", "libc" ] }

View file

@ -4,7 +4,7 @@ mod args;
use std::{env, error::Error}; use std::{env, error::Error};
use clap::CommandFactory; use clap::CommandFactory;
use clap_complete::{generate_to, Shell}; use clap_complete::{Shell, generate_to};
use vergen_gitcl::{BuildBuilder, Emitter, GitclBuilder}; use vergen_gitcl::{BuildBuilder, Emitter, GitclBuilder};
fn main() -> Result<(), Box<dyn Error>> { fn main() -> Result<(), Box<dyn Error>> {

View file

@ -1,7 +1,7 @@
use std::borrow::Cow; use std::borrow::Cow;
use anyhow::{bail, Result}; use anyhow::{Result, bail};
use clap::{command, Parser, Subcommand}; use clap::{Parser, Subcommand, command};
#[derive(Parser)] #[derive(Parser)]
#[command(name = "Ya", about, long_about = None)] #[command(name = "Ya", about, long_about = None)]

View file

@ -1,6 +1,6 @@
use anyhow::{bail, Context, Result}; use anyhow::{Context, Result, bail};
use tokio::fs; use tokio::fs;
use yazi_shared::{fs::{maybe_exists, must_exists}, Xdg}; use yazi_shared::{Xdg, fs::{maybe_exists, must_exists}};
use super::Package; use super::Package;

View file

@ -1,6 +1,6 @@
use std::path::Path; use std::path::Path;
use anyhow::{bail, Context, Result}; use anyhow::{Context, Result, bail};
use tokio::process::Command; use tokio::process::Command;
use yazi_shared::strip_trailing_newline; use yazi_shared::strip_trailing_newline;

View file

@ -1,4 +1,4 @@
use anyhow::{bail, Context, Result}; use anyhow::{Context, Result, bail};
use tokio::fs; use tokio::fs;
use toml_edit::{Array, DocumentMut, InlineTable, Item, Value}; use toml_edit::{Array, DocumentMut, InlineTable, Item, Value};
use yazi_shared::Xdg; use yazi_shared::Xdg;

View file

@ -1,7 +1,7 @@
use std::{fmt, str::FromStr}; use std::{fmt, str::FromStr};
use anyhow::Result; use anyhow::Result;
use serde::{de::{self, Visitor}, Deserializer}; use serde::{Deserializer, de::{self, Visitor}};
use yazi_shared::event::Cmd; use yazi_shared::event::Cmd;
use crate::keymap::Key; use crate::keymap::Key;

View file

@ -85,7 +85,7 @@ Please replace e.g. `shell` with `shell --interactive`, `shell "my-template"` wi
// TODO: Remove in v0.3.6 // TODO: Remove in v0.3.6
if matches!(INPUT.create_title, popup::InputCreateTitle::One(_)) { if matches!(INPUT.create_title, popup::InputCreateTitle::One(_)) {
println!( eprintln!(
r#"WARNING: The `create_title` under `[input]` now accepts an array instead of a string to support different titles for `create` and `create --dir` command. r#"WARNING: The `create_title` under `[input]` now accepts an array instead of a string to support different titles for `create` and `create --dir` command.
Please change `create_title = "Create:"` to `create_title = ["Create:", "Create (dir):"]` in your yazi.toml. Please change `create_title = "Create:"` to `create_title = ["Create:", "Create (dir):"]` in your yazi.toml.

View file

@ -1,4 +1,4 @@
use anyhow::{bail, Result}; use anyhow::{Result, bail};
use bitflags::bitflags; use bitflags::bitflags;
use crossterm::event::MouseEventKind; use crossterm::event::MouseEventKind;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};

View file

@ -5,7 +5,7 @@ use serde::{Deserialize, Deserializer};
use yazi_shared::MIME_DIR; use yazi_shared::MIME_DIR;
use super::Opener; use super::Opener;
use crate::{open::OpenRule, Preset}; use crate::{Preset, open::OpenRule};
#[derive(Debug)] #[derive(Debug)]
pub struct Open { pub struct Open {

View file

@ -1,6 +1,6 @@
use std::fmt; use std::fmt;
use serde::{de::{self, Visitor}, Deserialize, Deserializer}; use serde::{Deserialize, Deserializer, de::{self, Visitor}};
use crate::pattern::Pattern; use crate::pattern::Pattern;

View file

@ -1,7 +1,7 @@
use std::path::Path; use std::path::Path;
use serde::Deserialize; use serde::Deserialize;
use yazi_shared::{event::Cmd, Condition, MIME_DIR}; use yazi_shared::{Condition, MIME_DIR, event::Cmd};
use crate::{Pattern, Priority}; use crate::{Pattern, Priority};

View file

@ -3,7 +3,7 @@ use std::{collections::HashSet, path::Path, str::FromStr};
use serde::Deserialize; use serde::Deserialize;
use super::{Fetcher, Preloader, Previewer}; use super::{Fetcher, Preloader, Previewer};
use crate::{plugin::MAX_PREWORKERS, Preset}; use crate::{Preset, plugin::MAX_PREWORKERS};
#[derive(Deserialize)] #[derive(Deserialize)]
pub struct Plugin { pub struct Plugin {

View file

@ -1,7 +1,7 @@
use std::path::Path; use std::path::Path;
use serde::Deserialize; use serde::Deserialize;
use yazi_shared::{event::Cmd, MIME_DIR}; use yazi_shared::{MIME_DIR, event::Cmd};
use crate::{Pattern, Priority}; use crate::{Pattern, Priority};

View file

@ -1,7 +1,7 @@
use std::path::Path; use std::path::Path;
use serde::Deserialize; use serde::Deserialize;
use yazi_shared::{event::Cmd, MIME_DIR}; use yazi_shared::{MIME_DIR, event::Cmd};
use crate::Pattern; use crate::Pattern;

View file

@ -1,6 +1,6 @@
use std::{borrow::Cow, path::{Path, PathBuf}}; use std::{borrow::Cow, path::{Path, PathBuf}};
use anyhow::{anyhow, Context, Result}; use anyhow::{Context, Result, anyhow};
use toml::{Table, Value}; use toml::{Table, Value};
use crate::{preset, theme::Flavor}; use crate::{preset, theme::Flavor};

View file

@ -2,7 +2,7 @@ use std::collections::HashMap;
use anyhow::Result; use anyhow::Result;
use serde::{Deserialize, Deserializer}; use serde::{Deserialize, Deserializer};
use yazi_shared::{fs::File, theme::{Color, Icon, Style}, Condition}; use yazi_shared::{Condition, fs::File, theme::{Color, Icon, Style}};
use crate::{Pattern, Preset}; use crate::{Pattern, Preset};

View file

@ -2,7 +2,7 @@ use std::{path::PathBuf, str::FromStr};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use validator::Validate; use validator::Validate;
use yazi_shared::{fs::expand_path, theme::Style, Xdg}; use yazi_shared::{Xdg, fs::expand_path, theme::Style};
use super::{Filetype, Flavor, Icons}; use super::{Filetype, Flavor, Icons};

View file

@ -1,7 +1,7 @@
use std::{borrow::Cow, mem, path::{MAIN_SEPARATOR, MAIN_SEPARATOR_STR}}; use std::{borrow::Cow, mem, path::{MAIN_SEPARATOR, MAIN_SEPARATOR_STR}};
use tokio::fs; use tokio::fs;
use yazi_shared::{emit, event::{Cmd, Data}, render, Layer}; use yazi_shared::{Layer, emit, event::{Cmd, Data}, render};
use crate::completion::Completion; use crate::completion::Completion;

View file

@ -1,8 +1,8 @@
use crossterm::event::KeyCode; use crossterm::event::KeyCode;
use unicode_width::UnicodeWidthStr; use unicode_width::UnicodeWidthStr;
use yazi_adapter::Dimension; use yazi_adapter::Dimension;
use yazi_config::{keymap::{Chord, Key}, KEYMAP}; use yazi_config::{KEYMAP, keymap::{Chord, Key}};
use yazi_shared::{render, render_and, Layer}; use yazi_shared::{Layer, render, render_and};
use super::HELP_MARGIN; use super::HELP_MARGIN;
use crate::input::Input; use crate::input::Input;

View file

@ -1,4 +1,4 @@
use yazi_shared::{event::Cmd, CharKind}; use yazi_shared::{CharKind, event::Cmd};
use crate::input::Input; use crate::input::Input;

View file

@ -1,5 +1,5 @@
use yazi_proxy::CompletionProxy; use yazi_proxy::CompletionProxy;
use yazi_shared::{event::Cmd, render, InputError}; use yazi_shared::{InputError, event::Cmd, render};
use crate::input::Input; use crate::input::Input;

View file

@ -1,6 +1,6 @@
use yazi_shared::{event::Cmd, render}; use yazi_shared::{event::Cmd, render};
use crate::input::{op::InputOp, Input}; use crate::input::{Input, op::InputOp};
pub struct Opt { pub struct Opt {
cut: bool, cut: bool,

View file

@ -1,7 +1,7 @@
use yazi_proxy::CompletionProxy; use yazi_proxy::CompletionProxy;
use yazi_shared::{event::Cmd, render}; use yazi_shared::{event::Cmd, render};
use crate::input::{op::InputOp, Input, InputMode}; use crate::input::{Input, InputMode, op::InputOp};
pub struct Opt; pub struct Opt;

View file

@ -1,6 +1,6 @@
use yazi_shared::{event::Cmd, CharKind}; use yazi_shared::{CharKind, event::Cmd};
use crate::input::{op::InputOp, Input}; use crate::input::{Input, op::InputOp};
pub struct Opt { pub struct Opt {
end_of_word: bool, end_of_word: bool,

View file

@ -1,6 +1,6 @@
use yazi_shared::{event::Cmd, render}; use yazi_shared::{event::Cmd, render};
use crate::input::{op::InputOp, Input, InputMode}; use crate::input::{Input, InputMode, op::InputOp};
pub struct Opt { pub struct Opt {
append: bool, append: bool,

View file

@ -1,6 +1,6 @@
use std::ops::RangeBounds; use std::ops::RangeBounds;
use yazi_shared::{event::Cmd, render, CharKind}; use yazi_shared::{CharKind, event::Cmd, render};
use crate::input::Input; use crate::input::Input;

View file

@ -1,7 +1,7 @@
use unicode_width::UnicodeWidthStr; use unicode_width::UnicodeWidthStr;
use yazi_shared::{event::{Cmd, Data}, render}; use yazi_shared::{event::{Cmd, Data}, render};
use crate::input::{op::InputOp, snap::InputSnap, Input}; use crate::input::{Input, op::InputOp, snap::InputSnap};
pub struct Opt { pub struct Opt {
step: isize, step: isize,

View file

@ -1,7 +1,7 @@
use yazi_plugin::CLIPBOARD; use yazi_plugin::CLIPBOARD;
use yazi_shared::{event::Cmd, render}; use yazi_shared::{event::Cmd, render};
use crate::input::{op::InputOp, Input}; use crate::input::{Input, op::InputOp};
pub struct Opt { pub struct Opt {
before: bool, before: bool,

View file

@ -1,6 +1,6 @@
use tokio::sync::mpsc; use tokio::sync::mpsc;
use yazi_config::popup::InputCfg; use yazi_config::popup::InputCfg;
use yazi_shared::{event::Cmd, render, InputError}; use yazi_shared::{InputError, event::Cmd, render};
use crate::input::Input; use crate::input::Input;

View file

@ -1,6 +1,6 @@
use yazi_shared::{event::Cmd, render}; use yazi_shared::{event::Cmd, render};
use crate::input::{op::InputOp, Input, InputMode}; use crate::input::{Input, InputMode, op::InputOp};
impl Input { impl Input {
#[inline] #[inline]

View file

@ -1,6 +1,6 @@
use yazi_shared::{event::Cmd, render}; use yazi_shared::{event::Cmd, render};
use crate::input::{op::InputOp, Input}; use crate::input::{Input, op::InputOp};
impl Input { impl Input {
pub fn yank(&mut self, _: Cmd) { pub fn yank(&mut self, _: Cmd) {

View file

@ -2,11 +2,11 @@ use std::ops::Range;
use tokio::sync::mpsc::UnboundedSender; use tokio::sync::mpsc::UnboundedSender;
use unicode_width::UnicodeWidthStr; use unicode_width::UnicodeWidthStr;
use yazi_config::{popup::Position, INPUT}; use yazi_config::{INPUT, popup::Position};
use yazi_plugin::CLIPBOARD; use yazi_plugin::CLIPBOARD;
use yazi_shared::{render, InputError}; use yazi_shared::{InputError, render};
use super::{mode::InputMode, op::InputOp, InputSnap, InputSnaps}; use super::{InputSnap, InputSnaps, mode::InputMode, op::InputOp};
#[derive(Default)] #[derive(Default)]
pub struct Input { pub struct Input {

View file

@ -1,12 +1,12 @@
use std::{borrow::Cow, collections::HashMap, ffi::{OsStr, OsString}, io::{stderr, BufWriter, Write}, path::PathBuf}; use std::{borrow::Cow, collections::HashMap, ffi::{OsStr, OsString}, io::{BufWriter, Write, stderr}, path::PathBuf};
use anyhow::{anyhow, Result}; use anyhow::{Result, anyhow};
use scopeguard::defer; use scopeguard::defer;
use tokio::{fs::{self, OpenOptions}, io::{stdin, AsyncReadExt, AsyncWriteExt}}; use tokio::{fs::{self, OpenOptions}, io::{AsyncReadExt, AsyncWriteExt, stdin}};
use yazi_config::{OPEN, PREVIEW}; use yazi_config::{OPEN, PREVIEW};
use yazi_dds::Pubsub; use yazi_dds::Pubsub;
use yazi_proxy::{AppProxy, TasksProxy, HIDER, WATCHER}; use yazi_proxy::{AppProxy, HIDER, TasksProxy, WATCHER};
use yazi_shared::{fs::{max_common_root, maybe_exists, paths_to_same_file, File, Url}, terminal_clear}; use yazi_shared::{fs::{File, Url, max_common_root, maybe_exists, paths_to_same_file}, terminal_clear};
use crate::manager::Manager; use crate::manager::Manager;

View file

@ -4,7 +4,7 @@ use anyhow::Result;
use tokio::fs; use tokio::fs;
use yazi_config::popup::{ConfirmCfg, InputCfg}; use yazi_config::popup::{ConfirmCfg, InputCfg};
use yazi_proxy::{ConfirmProxy, InputProxy, TabProxy, WATCHER}; use yazi_proxy::{ConfirmProxy, InputProxy, TabProxy, WATCHER};
use yazi_shared::{event::Cmd, fs::{maybe_exists, ok_or_not_found, realname, File, FilesOp, Url, UrnBuf}}; use yazi_shared::{event::Cmd, fs::{File, FilesOp, Url, UrnBuf, maybe_exists, ok_or_not_found, realname}};
use crate::manager::Manager; use crate::manager::Manager;

View file

@ -2,11 +2,11 @@ use std::{borrow::Cow, ffi::OsString};
use tracing::error; use tracing::error;
use yazi_boot::ARGS; use yazi_boot::ARGS;
use yazi_config::{popup::SelectCfg, OPEN}; use yazi_config::{OPEN, popup::SelectCfg};
use yazi_fs::Folder; use yazi_fs::Folder;
use yazi_plugin::isolate; use yazi_plugin::isolate;
use yazi_proxy::{options::OpenDoOpt, ManagerProxy, TasksProxy}; use yazi_proxy::{ManagerProxy, TasksProxy, options::OpenDoOpt};
use yazi_shared::{emit, event::{Cmd, EventQuit}, fs::{File, Url}, MIME_DIR}; use yazi_shared::{MIME_DIR, emit, event::{Cmd, EventQuit}, fs::{File, Url}};
use crate::{manager::Manager, tasks::Tasks}; use crate::{manager::Manager, tasks::Tasks};

View file

@ -5,7 +5,7 @@ use tokio::fs;
use yazi_config::popup::{ConfirmCfg, InputCfg}; use yazi_config::popup::{ConfirmCfg, InputCfg};
use yazi_dds::Pubsub; use yazi_dds::Pubsub;
use yazi_proxy::{ConfirmProxy, InputProxy, TabProxy, WATCHER}; use yazi_proxy::{ConfirmProxy, InputProxy, TabProxy, WATCHER};
use yazi_shared::{event::Cmd, fs::{maybe_exists, ok_or_not_found, paths_to_same_file, realname, File, FilesOp, Url, UrnBuf}}; use yazi_shared::{event::Cmd, fs::{File, FilesOp, Url, UrnBuf, maybe_exists, ok_or_not_found, paths_to_same_file, realname}};
use crate::manager::Manager; use crate::manager::Manager;

View file

@ -1,6 +1,6 @@
use yazi_config::PLUGIN; use yazi_config::PLUGIN;
use yazi_plugin::isolate; use yazi_plugin::isolate;
use yazi_shared::{event::{Cmd, Data}, render, MIME_DIR}; use yazi_shared::{MIME_DIR, event::{Cmd, Data}, render};
use crate::manager::Manager; use crate::manager::Manager;

View file

@ -4,7 +4,7 @@ use yazi_fs::Folder;
use yazi_proxy::ManagerProxy; use yazi_proxy::ManagerProxy;
use yazi_shared::{event::Cmd, fs::FilesOp, render}; use yazi_shared::{event::Cmd, fs::FilesOp, render};
use crate::{manager::{Manager, LINKED}, tab::Tab, tasks::Tasks}; use crate::{manager::{LINKED, Manager}, tab::Tab, tasks::Tasks};
pub struct Opt { pub struct Opt {
op: FilesOp, op: FilesOp,

View file

@ -3,7 +3,7 @@ use std::collections::HashMap;
use tracing::error; use tracing::error;
use yazi_shared::{event::Cmd, fs::Url, render}; use yazi_shared::{event::Cmd, fs::Url, render};
use crate::{manager::{Manager, LINKED}, tasks::Tasks}; use crate::{manager::{LINKED, Manager}, tasks::Tasks};
pub struct Opt { pub struct Opt {
updates: HashMap<String, String>, updates: HashMap<String, String>,

View file

@ -4,12 +4,12 @@ use anyhow::Result;
use notify::{PollWatcher, RecommendedWatcher, RecursiveMode, Watcher as _Watcher}; use notify::{PollWatcher, RecommendedWatcher, RecursiveMode, Watcher as _Watcher};
use parking_lot::RwLock; use parking_lot::RwLock;
use tokio::{fs, pin, sync::{mpsc::{self, UnboundedReceiver}, watch}}; use tokio::{fs, pin, sync::{mpsc::{self, UnboundedReceiver}, watch}};
use tokio_stream::{wrappers::UnboundedReceiverStream, StreamExt}; use tokio_stream::{StreamExt, wrappers::UnboundedReceiverStream};
use tracing::error; use tracing::error;
use yazi_fs::{Files, Folder}; use yazi_fs::{Files, Folder};
use yazi_plugin::isolate; use yazi_plugin::isolate;
use yazi_proxy::WATCHER; use yazi_proxy::WATCHER;
use yazi_shared::{fs::{realname_unchecked, Cha, File, FilesOp, Url}, RoCell}; use yazi_shared::{RoCell, fs::{Cha, File, FilesOp, Url, realname_unchecked}};
use super::Linked; use super::Linked;

View file

@ -1,6 +1,6 @@
use std::time::Instant; use std::time::Instant;
use yazi_shared::{emit, event::Cmd, Layer}; use yazi_shared::{Layer, emit, event::Cmd};
use crate::notify::{Message, Notify}; use crate::notify::{Message, Notify};

View file

@ -1,7 +1,7 @@
use std::time::Duration; use std::time::Duration;
use ratatui::layout::Rect; use ratatui::layout::Rect;
use yazi_shared::{emit, event::{Cmd, Data}, Layer}; use yazi_shared::{Layer, emit, event::{Cmd, Data}};
use crate::notify::Notify; use crate::notify::Notify;

View file

@ -1,6 +1,6 @@
use anyhow::Result; use anyhow::Result;
use tokio::sync::oneshot::Sender; use tokio::sync::oneshot::Sender;
use yazi_config::{popup::Position, SELECT}; use yazi_config::{SELECT, popup::Position};
#[derive(Default)] #[derive(Default)]
pub struct Select { pub struct Select {

View file

@ -1,11 +1,11 @@
use std::{mem, time::Duration}; use std::{mem, time::Duration};
use tokio::{fs, pin}; use tokio::{fs, pin};
use tokio_stream::{wrappers::UnboundedReceiverStream, StreamExt}; use tokio_stream::{StreamExt, wrappers::UnboundedReceiverStream};
use yazi_config::popup::InputCfg; use yazi_config::popup::InputCfg;
use yazi_dds::Pubsub; use yazi_dds::Pubsub;
use yazi_proxy::{CompletionProxy, InputProxy, ManagerProxy, TabProxy}; use yazi_proxy::{CompletionProxy, InputProxy, ManagerProxy, TabProxy};
use yazi_shared::{event::{Cmd, Data}, fs::{expand_path, Url}, render, Debounce, InputError}; use yazi_shared::{Debounce, InputError, event::{Cmd, Data}, fs::{Url, expand_path}, render};
use crate::tab::Tab; use crate::tab::Tab;

View file

@ -1,11 +1,11 @@
use std::time::Duration; use std::time::Duration;
use tokio::pin; use tokio::pin;
use tokio_stream::{wrappers::UnboundedReceiverStream, StreamExt}; use tokio_stream::{StreamExt, wrappers::UnboundedReceiverStream};
use yazi_config::popup::InputCfg; use yazi_config::popup::InputCfg;
use yazi_fs::{Filter, FilterCase}; use yazi_fs::{Filter, FilterCase};
use yazi_proxy::{InputProxy, ManagerProxy}; use yazi_proxy::{InputProxy, ManagerProxy};
use yazi_shared::{emit, event::Cmd, render, Debounce, InputError, Layer}; use yazi_shared::{Debounce, InputError, Layer, emit, event::Cmd, render};
use crate::tab::Tab; use crate::tab::Tab;

View file

@ -1,11 +1,11 @@
use std::time::Duration; use std::time::Duration;
use tokio::pin; use tokio::pin;
use tokio_stream::{wrappers::UnboundedReceiverStream, StreamExt}; use tokio_stream::{StreamExt, wrappers::UnboundedReceiverStream};
use yazi_config::popup::InputCfg; use yazi_config::popup::InputCfg;
use yazi_fs::FilterCase; use yazi_fs::FilterCase;
use yazi_proxy::InputProxy; use yazi_proxy::InputProxy;
use yazi_shared::{emit, event::Cmd, render, Debounce, InputError, Layer}; use yazi_shared::{Debounce, InputError, Layer, emit, event::Cmd, render};
use crate::tab::{Finder, Tab}; use crate::tab::{Finder, Tab};

View file

@ -1,5 +1,5 @@
use yazi_proxy::ManagerProxy; use yazi_proxy::ManagerProxy;
use yazi_shared::{event::{Cmd, Data}, fs::{expand_path, File, FilesOp, Url}}; use yazi_shared::{event::{Cmd, Data}, fs::{File, FilesOp, Url, expand_path}};
use crate::tab::Tab; use crate::tab::Tab;

View file

@ -1,11 +1,11 @@
use std::{mem, time::Duration}; use std::{mem, time::Duration};
use tokio::pin; use tokio::pin;
use tokio_stream::{wrappers::UnboundedReceiverStream, StreamExt}; use tokio_stream::{StreamExt, wrappers::UnboundedReceiverStream};
use tracing::error; use tracing::error;
use yazi_config::popup::InputCfg; use yazi_config::popup::InputCfg;
use yazi_plugin::external; use yazi_plugin::external;
use yazi_proxy::{options::{SearchOpt, SearchOptVia}, AppProxy, InputProxy, ManagerProxy, TabProxy}; use yazi_proxy::{AppProxy, InputProxy, ManagerProxy, TabProxy, options::{SearchOpt, SearchOptVia}};
use yazi_shared::fs::{Cha, FilesOp}; use yazi_shared::fs::{Cha, FilesOp};
use crate::tab::Tab; use crate::tab::Tab;

View file

@ -1,4 +1,4 @@
use yazi_config::{manager::SortBy, MANAGER}; use yazi_config::{MANAGER, manager::SortBy};
use yazi_fs::FilesSorter; use yazi_fs::FilesSorter;
#[derive(Clone, PartialEq)] #[derive(Clone, PartialEq)]

View file

@ -1,13 +1,13 @@
use std::time::Duration; use std::time::Duration;
use tokio::{pin, task::JoinHandle}; use tokio::{pin, task::JoinHandle};
use tokio_stream::{wrappers::UnboundedReceiverStream, StreamExt}; use tokio_stream::{StreamExt, wrappers::UnboundedReceiverStream};
use tokio_util::sync::CancellationToken; use tokio_util::sync::CancellationToken;
use yazi_adapter::ADAPTOR; use yazi_adapter::ADAPTOR;
use yazi_config::PLUGIN; use yazi_config::PLUGIN;
use yazi_fs::Files; use yazi_fs::Files;
use yazi_plugin::{external::Highlighter, isolate, utils::PreviewLock}; use yazi_plugin::{external::Highlighter, isolate, utils::PreviewLock};
use yazi_shared::{fs::{Cha, File, FilesOp, Url}, MIME_DIR}; use yazi_shared::{MIME_DIR, fs::{Cha, File, FilesOp, Url}};
#[derive(Default)] #[derive(Default)]
pub struct Preview { pub struct Preview {

View file

@ -4,7 +4,7 @@ use anyhow::Result;
use ratatui::layout::Rect; use ratatui::layout::Rect;
use tokio::task::JoinHandle; use tokio::task::JoinHandle;
use yazi_adapter::Dimension; use yazi_adapter::Dimension;
use yazi_config::{popup::{Origin, Position}, LAYOUT}; use yazi_config::{LAYOUT, popup::{Origin, Position}};
use yazi_fs::{Folder, FolderStage}; use yazi_fs::{Folder, FolderStage};
use yazi_shared::{fs::Url, render}; use yazi_shared::{fs::Url, render};

View file

@ -1,8 +1,8 @@
use std::{io::{stderr, BufWriter, LineWriter, Write}, mem}; use std::{io::{BufWriter, LineWriter, Write, stderr}, mem};
use crossterm::terminal::{disable_raw_mode, enable_raw_mode}; use crossterm::terminal::{disable_raw_mode, enable_raw_mode};
use scopeguard::defer; use scopeguard::defer;
use tokio::{io::{stdin, AsyncReadExt}, select, sync::mpsc, time}; use tokio::{io::{AsyncReadExt, stdin}, select, sync::mpsc, time};
use yazi_proxy::{AppProxy, HIDER}; use yazi_proxy::{AppProxy, HIDER};
use yazi_shared::{event::Cmd, terminal_clear}; use yazi_shared::{event::Cmd, terminal_clear};

View file

@ -1,6 +1,6 @@
use yazi_config::{manager::SortBy, plugin::MAX_PREWORKERS, PLUGIN}; use yazi_config::{PLUGIN, manager::SortBy, plugin::MAX_PREWORKERS};
use yazi_fs::Files; use yazi_fs::Files;
use yazi_shared::{fs::File, MIME_DIR}; use yazi_shared::{MIME_DIR, fs::File};
use super::Tasks; use super::Tasks;
use crate::manager::Mimetype; use crate::manager::Mimetype;

View file

@ -1,6 +1,6 @@
use std::{borrow::Cow, collections::HashMap, ffi::OsString, mem}; use std::{borrow::Cow, collections::HashMap, ffi::OsString, mem};
use yazi_config::{open::Opener, OPEN}; use yazi_config::{OPEN, open::Opener};
use yazi_shared::fs::Url; use yazi_shared::fs::Url;
use super::Tasks; use super::Tasks;

View file

@ -4,9 +4,9 @@ use parking_lot::Mutex;
use tokio::{task::JoinHandle, time::sleep}; use tokio::{task::JoinHandle, time::sleep};
use yazi_adapter::Dimension; use yazi_adapter::Dimension;
use yazi_scheduler::{Ongoing, Scheduler, TaskSummary}; use yazi_scheduler::{Ongoing, Scheduler, TaskSummary};
use yazi_shared::{emit, event::Cmd, Layer}; use yazi_shared::{Layer, emit, event::Cmd};
use super::{TasksProgress, TASKS_BORDER, TASKS_PADDING, TASKS_PERCENT}; use super::{TASKS_BORDER, TASKS_PADDING, TASKS_PERCENT, TasksProgress};
pub struct Tasks { pub struct Tasks {
pub(super) scheduler: Arc<Scheduler>, pub(super) scheduler: Arc<Scheduler>,

View file

@ -1,7 +1,7 @@
use std::str::FromStr; use std::str::FromStr;
use yazi_config::{keymap::{Chord, Key}, KEYMAP}; use yazi_config::{KEYMAP, keymap::{Chord, Key}};
use yazi_shared::{event::Cmd, render, Layer}; use yazi_shared::{Layer, event::Cmd, render};
use crate::which::{Which, WhichSorter}; use crate::which::{Which, WhichSorter};

View file

@ -1,7 +1,7 @@
use std::{borrow::Cow, mem}; use std::{borrow::Cow, mem};
use yazi_config::{keymap::ChordCow, which::SortBy, WHICH}; use yazi_config::{WHICH, keymap::ChordCow, which::SortBy};
use yazi_shared::{natsort, Transliterator}; use yazi_shared::{Transliterator, natsort};
#[derive(Clone, Copy, PartialEq)] #[derive(Clone, Copy, PartialEq)]
pub struct WhichSorter { pub struct WhichSorter {

View file

@ -1,5 +1,5 @@
use yazi_config::keymap::{ChordCow, Key}; use yazi_config::keymap::{ChordCow, Key};
use yazi_shared::{emit, render, render_and, Layer}; use yazi_shared::{Layer, emit, render, render_and};
#[derive(Default)] #[derive(Default)]
pub struct Which { pub struct Which {

View file

@ -28,7 +28,7 @@ tokio-util = { workspace = true }
tracing = { workspace = true } tracing = { workspace = true }
[build-dependencies] [build-dependencies]
vergen-gitcl = { version = "1.0.0", features = [ "build" ] } vergen-gitcl = { version = "1.0.1", features = [ "build" ] }
[target."cfg(unix)".dependencies] [target."cfg(unix)".dependencies]
uzers = { workspace = true } uzers = { workspace = true }

View file

@ -1,4 +1,4 @@
use anyhow::{bail, Result}; use anyhow::{Result, bail};
use mlua::{ExternalResult, IntoLua, Lua, Value}; use mlua::{ExternalResult, IntoLua, Lua, Value};
use serde::Serialize; use serde::Serialize;

View file

@ -1,4 +1,4 @@
use std::{borrow::Cow, collections::{hash_map, HashMap}}; use std::{borrow::Cow, collections::{HashMap, hash_map}};
use mlua::{AnyUserData, IntoLua, IntoLuaMulti, Lua, MetaMethod, UserData, UserDataRefMut, Value}; use mlua::{AnyUserData, IntoLua, IntoLuaMulti, Lua, MetaMethod, UserData, UserDataRefMut, Value};
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};

View file

@ -1,13 +1,13 @@
use std::{collections::{HashMap, HashSet}, mem, str::FromStr}; use std::{collections::{HashMap, HashSet}, mem, str::FromStr};
use anyhow::{bail, Context, Result}; use anyhow::{Context, Result, bail};
use parking_lot::RwLock; use parking_lot::RwLock;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use tokio::{io::AsyncWriteExt, select, sync::mpsc, task::JoinHandle, time}; use tokio::{io::AsyncWriteExt, select, sync::mpsc, task::JoinHandle, time};
use tracing::error; use tracing::error;
use yazi_shared::RoCell; use yazi_shared::RoCell;
use crate::{body::{Body, BodyBye, BodyHi}, ClientReader, ClientWriter, Payload, Pubsub, Server, Stream}; use crate::{ClientReader, ClientWriter, Payload, Pubsub, Server, Stream, body::{Body, BodyBye, BodyHi}};
pub(super) static ID: RoCell<u64> = RoCell::new(); pub(super) static ID: RoCell<u64> = RoCell::new();
pub(super) static PEERS: RoCell<RwLock<HashMap<u64, Peer>>> = RoCell::new(); pub(super) static PEERS: RoCell<RwLock<HashMap<u64, Peer>>> = RoCell::new();

View file

@ -1,10 +1,10 @@
use std::{fmt::Display, io::Write, str::FromStr}; use std::{fmt::Display, io::Write, str::FromStr};
use anyhow::{anyhow, Result}; use anyhow::{Result, anyhow};
use yazi_boot::BOOT; use yazi_boot::BOOT;
use yazi_shared::{emit, event::Cmd, Layer}; use yazi_shared::{Layer, emit, event::Cmd};
use crate::{body::Body, ID}; use crate::{ID, body::Body};
#[derive(Debug)] #[derive(Debug)]
pub struct Payload<'a> { pub struct Payload<'a> {

View file

@ -3,9 +3,9 @@ use std::collections::{HashMap, HashSet};
use mlua::Function; use mlua::Function;
use parking_lot::RwLock; use parking_lot::RwLock;
use yazi_boot::BOOT; use yazi_boot::BOOT;
use yazi_shared::{fs::Url, RoCell}; use yazi_shared::{RoCell, fs::Url};
use crate::{body::{Body, BodyBulk, BodyCd, BodyDelete, BodyHi, BodyHover, BodyMove, BodyMoveItem, BodyRename, BodyTab, BodyTrash, BodyYank}, Client, ID, PEERS}; use crate::{Client, ID, PEERS, body::{Body, BodyBulk, BodyCd, BodyDelete, BodyHi, BodyHover, BodyMove, BodyMoveItem, BodyRename, BodyTab, BodyTrash, BodyYank}};
pub static LOCAL: RoCell<RwLock<HashMap<String, HashMap<String, Function<'static>>>>> = pub static LOCAL: RoCell<RwLock<HashMap<String, HashMap<String, Function<'static>>>>> =
RoCell::new(); RoCell::new();

View file

@ -2,11 +2,11 @@ use std::time::Duration;
use parking_lot::Mutex; use parking_lot::Mutex;
use tokio::{pin, select, sync::mpsc}; use tokio::{pin, select, sync::mpsc};
use tokio_stream::{wrappers::UnboundedReceiverStream, StreamExt}; use tokio_stream::{StreamExt, wrappers::UnboundedReceiverStream};
use tokio_util::sync::CancellationToken; use tokio_util::sync::CancellationToken;
use yazi_shared::{fs::Url, RoCell}; use yazi_shared::{RoCell, fs::Url};
use crate::{body::BodyMoveItem, Pubsub}; use crate::{Pubsub, body::BodyMoveItem};
static CT: RoCell<CancellationToken> = RoCell::new(); static CT: RoCell<CancellationToken> = RoCell::new();
static MOVE_TX: Mutex<Option<mpsc::UnboundedSender<BodyMoveItem>>> = Mutex::new(None); static MOVE_TX: Mutex<Option<mpsc::UnboundedSender<BodyMoveItem>>> = Mutex::new(None);

View file

@ -1,7 +1,7 @@
use std::collections::HashMap; use std::collections::HashMap;
use mlua::{ExternalError, Lua, MultiValue, Table, Value}; use mlua::{ExternalError, Lua, MultiValue, Table, Value};
use yazi_shared::{event::{Data, DataKey}, OrderedFloat}; use yazi_shared::{OrderedFloat, event::{Data, DataKey}};
pub struct Sendable; pub struct Sendable;

View file

@ -5,7 +5,7 @@ use parking_lot::RwLock;
use tokio::{io::{AsyncBufReadExt, AsyncWriteExt, BufReader}, select, sync::mpsc::{self, UnboundedReceiver}, task::JoinHandle, time}; use tokio::{io::{AsyncBufReadExt, AsyncWriteExt, BufReader}, select, sync::mpsc::{self, UnboundedReceiver}, task::JoinHandle, time};
use yazi_shared::RoCell; use yazi_shared::RoCell;
use crate::{body::{Body, BodyBye, BodyHey}, Client, ClientWriter, Payload, Peer, Stream, STATE}; use crate::{Client, ClientWriter, Payload, Peer, STATE, Stream, body::{Body, BodyBye, BodyHey}};
pub(super) static CLIENTS: RoCell<RwLock<HashMap<u64, Client>>> = RoCell::new(); pub(super) static CLIENTS: RoCell<RwLock<HashMap<u64, Client>>> = RoCell::new();

View file

@ -4,7 +4,7 @@ use anyhow::Result;
use parking_lot::RwLock; use parking_lot::RwLock;
use tokio::{fs::{self, File, OpenOptions}, io::{AsyncBufReadExt, AsyncWriteExt, BufReader, BufWriter}}; use tokio::{fs::{self, File, OpenOptions}, io::{AsyncBufReadExt, AsyncWriteExt, BufReader, BufWriter}};
use yazi_boot::BOOT; use yazi_boot::BOOT;
use yazi_shared::{timestamp_us, RoCell}; use yazi_shared::{RoCell, timestamp_us};
use crate::CLIENTS; use crate::CLIENTS;

View file

@ -4,9 +4,9 @@ use anyhow::Result;
use crossterm::event::KeyEvent; use crossterm::event::KeyEvent;
use yazi_config::keymap::Key; use yazi_config::keymap::Key;
use yazi_core::input::InputMode; use yazi_core::input::InputMode;
use yazi_shared::{emit, event::{Cmd, Event, NEED_RENDER}, Layer}; use yazi_shared::{Layer, emit, event::{Cmd, Event, NEED_RENDER}};
use crate::{lives::Lives, Ctx, Executor, Router, Signals, Term}; use crate::{Ctx, Executor, Router, Signals, Term, lives::Lives};
pub(crate) struct App { pub(crate) struct App {
pub(crate) cx: Ctx, pub(crate) cx: Ctx,

View file

@ -1,6 +1,6 @@
use mlua::IntoLua; use mlua::IntoLua;
use tracing::error; use tracing::error;
use yazi_dds::{Payload, LOCAL, REMOTE}; use yazi_dds::{LOCAL, Payload, REMOTE};
use yazi_plugin::LUA; use yazi_plugin::LUA;
use yazi_shared::event::Cmd; use yazi_shared::event::Cmd;

View file

@ -2,7 +2,7 @@ use crossterm::event::{MouseEvent, MouseEventKind};
use mlua::{Table, TableExt}; use mlua::{Table, TableExt};
use tracing::error; use tracing::error;
use yazi_config::MANAGER; use yazi_config::MANAGER;
use yazi_plugin::{bindings::Cast, LUA}; use yazi_plugin::{LUA, bindings::Cast};
use crate::{app::App, lives::Lives}; use crate::{app::App, lives::Lives};

View file

@ -4,8 +4,8 @@ use mlua::TableExt;
use scopeguard::defer; use scopeguard::defer;
use tracing::warn; use tracing::warn;
use yazi_dds::Sendable; use yazi_dds::Sendable;
use yazi_plugin::{loader::LOADER, RtRef, LUA}; use yazi_plugin::{LUA, RtRef, loader::LOADER};
use yazi_shared::{emit, event::Cmd, Layer}; use yazi_shared::{Layer, emit, event::Cmd};
use crate::{app::App, lives::Lives}; use crate::{app::App, lives::Lives};

View file

@ -3,7 +3,7 @@ use std::ffi::OsString;
use yazi_boot::ARGS; use yazi_boot::ARGS;
use yazi_shared::event::EventQuit; use yazi_shared::event::EventQuit;
use crate::{app::App, Term}; use crate::{Term, app::App};
impl App { impl App {
pub(crate) fn quit(&mut self, opt: EventQuit) -> ! { pub(crate) fn quit(&mut self, opt: EventQuit) -> ! {

View file

@ -1,7 +1,7 @@
use std::{io::{stderr, BufWriter}, sync::atomic::Ordering}; use std::{io::{BufWriter, stderr}, sync::atomic::Ordering};
use crossterm::{execute, queue, terminal::{BeginSynchronizedUpdate, EndSynchronizedUpdate}}; use crossterm::{execute, queue, terminal::{BeginSynchronizedUpdate, EndSynchronizedUpdate}};
use ratatui::{backend::{Backend, CrosstermBackend}, buffer::Buffer, CompletedFrame}; use ratatui::{CompletedFrame, backend::{Backend, CrosstermBackend}, buffer::Buffer};
use scopeguard::defer; use scopeguard::defer;
use yazi_plugin::elements::COLLISION; use yazi_plugin::elements::COLLISION;

View file

@ -1,6 +1,6 @@
use yazi_shared::event::Cmd; use yazi_shared::event::Cmd;
use crate::{app::App, Term}; use crate::{Term, app::App};
impl App { impl App {
pub(crate) fn resume(&mut self, _: Cmd) { pub(crate) fn resume(&mut self, _: Cmd) {

View file

@ -2,7 +2,7 @@ use std::path::MAIN_SEPARATOR;
use ratatui::{buffer::Buffer, layout::Rect, widgets::{Block, BorderType, List, ListItem, Widget}}; use ratatui::{buffer::Buffer, layout::Rect, widgets::{Block, BorderType, List, ListItem, Widget}};
use yazi_adapter::Dimension; use yazi_adapter::Dimension;
use yazi_config::{popup::{Offset, Position}, THEME}; use yazi_config::{THEME, popup::{Offset, Position}};
use crate::Ctx; use crate::Ctx;

View file

@ -2,7 +2,7 @@ use std::mem;
use mlua::{AnyUserData, Table, TableExt}; use mlua::{AnyUserData, Table, TableExt};
use tracing::error; use tracing::error;
use yazi_plugin::{cast_to_renderable, LUA}; use yazi_plugin::{LUA, cast_to_renderable};
pub(crate) struct Progress; pub(crate) struct Progress;

View file

@ -1,5 +1,5 @@
use yazi_core::input::InputMode; use yazi_core::input::InputMode;
use yazi_shared::{event::Cmd, Layer}; use yazi_shared::{Layer, event::Cmd};
use crate::app::App; use crate::app::App;

View file

@ -1,6 +1,6 @@
use std::ops::Range; use std::ops::Range;
use anyhow::{bail, Result}; use anyhow::{Result, bail};
use ratatui::{buffer::Buffer, layout::Rect, text::Line, widgets::{Block, BorderType, Paragraph, Widget}}; use ratatui::{buffer::Buffer, layout::Rect, text::Line, widgets::{Block, BorderType, Paragraph, Widget}};
use syntect::easy::HighlightLines; use syntect::easy::HighlightLines;
use yazi_config::{PREVIEW, THEME}; use yazi_config::{PREVIEW, THEME};

View file

@ -1,4 +1,4 @@
use std::{collections::{hash_map, HashMap}, ops::Deref}; use std::{collections::{HashMap, hash_map}, ops::Deref};
use mlua::{AnyUserData, IntoLuaMulti, Lua, MetaMethod, UserDataMethods, UserDataRefMut}; use mlua::{AnyUserData, IntoLuaMulti, Lua, MetaMethod, UserDataMethods, UserDataRefMut};
use yazi_plugin::{bindings::Cast, url::Url}; use yazi_plugin::{bindings::Cast, url::Url};

View file

@ -3,7 +3,7 @@ use std::ops::Deref;
use mlua::{AnyUserData, Lua, UserDataFields, UserDataMethods}; use mlua::{AnyUserData, Lua, UserDataFields, UserDataMethods};
use yazi_plugin::url::UrlRef; use yazi_plugin::url::UrlRef;
use super::{Config, Finder, Folder, Mode, Preview, Selected, SCOPE}; use super::{Config, Finder, Folder, Mode, Preview, SCOPE, Selected};
pub(super) struct Tab { pub(super) struct Tab {
inner: *const yazi_core::tab::Tab, inner: *const yazi_core::tab::Tab,

View file

@ -2,7 +2,7 @@ use std::ops::Deref;
use mlua::{AnyUserData, Lua, MetaMethod, UserDataFields, UserDataMethods}; use mlua::{AnyUserData, Lua, MetaMethod, UserDataFields, UserDataMethods};
use super::{Tab, SCOPE}; use super::{SCOPE, Tab};
pub(super) struct Tabs { pub(super) struct Tabs {
inner: *const yazi_core::manager::Tabs, inner: *const yazi_core::manager::Tabs,

Some files were not shown because too many files have changed in this diff Show more