Skip to main content

yazi_widgets/input/actor/
insert.rs

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