diff --git a/yazi-core/src/manager/commands/create.rs b/yazi-core/src/manager/commands/create.rs index 351b40b5..1f1834f3 100644 --- a/yazi-core/src/manager/commands/create.rs +++ b/yazi-core/src/manager/commands/create.rs @@ -4,16 +4,22 @@ use anyhow::Result; use tokio::fs; use yazi_config::popup::InputCfg; use yazi_proxy::{InputProxy, TabProxy, WATCHER}; -use yazi_shared::{event::Cmd, fs::{maybe_exists, ok_or_not_found, symlink_realpath, File, FilesOp, Url}}; +use yazi_shared::{ + event::Cmd, + fs::{maybe_exists, ok_or_not_found, symlink_realpath, File, FilesOp, Url}, +}; use crate::manager::Manager; pub struct Opt { force: bool, + dir: bool, } impl From for Opt { - fn from(c: Cmd) -> Self { Self { force: c.bool("force") } } + fn from(c: Cmd) -> Self { + Self { force: c.bool("force"), dir: c.bool("dir") } + } } impl Manager { @@ -37,7 +43,7 @@ impl Manager { } } - Self::create_do(new, name.ends_with('/') || name.ends_with('\\')).await + Self::create_do(new, opt.dir || name.ends_with('/') || name.ends_with('\\')).await }); }