yazi_widgets/input/commands/
visual.rs1use anyhow::Result;
2use yazi_macro::{act, render, succ};
3use yazi_parser::VoidOpt;
4use yazi_shared::data::Data;
5
6use crate::input::{Input, InputMode, op::InputOp};
7
8impl Input {
9 pub fn visual(&mut self, _: VoidOpt) -> Result<Data> {
10 if self.snap().mode != InputMode::Normal {
11 act!(escape, self)?;
12 }
13
14 let snap = self.snap_mut();
15 if let InputOp::Select(_) = snap.op {
16 succ!();
17 }
18
19 if !snap.value.is_empty() {
20 snap.op = InputOp::Select(snap.cursor);
21 render!();
22 }
23
24 succ!();
25 }
26}