yazi_widgets/input/commands/
insert.rs

1use 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}