yazi_widgets/input/commands/
insert.rs1use anyhow::Result;
2use yazi_macro::{act, render, succ};
3use yazi_parser::input::InsertOpt;
4use yazi_shared::data::Data;
5
6use crate::input::{Input, InputMode, op::InputOp};
7
8impl Input {
9 pub fn insert(&mut self, opt: InsertOpt) -> Result<Data> {
10 let snap = self.snap_mut();
11 if snap.mode == InputMode::Normal {
12 snap.op = InputOp::None;
13 snap.mode = InputMode::Insert;
14 } else {
15 succ!();
16 }
17
18 if opt.append {
19 act!(r#move, self, 1)?;
20 }
21
22 succ!(render!());
23 }
24}