yazi/yazi-actor/src/mgr/update_peeked.rs
2026-03-31 19:18:18 +08:00

27 lines
558 B
Rust

use anyhow::Result;
use yazi_macro::{render, succ};
use yazi_parser::mgr::UpdatePeekedForm;
use yazi_shared::data::Data;
use crate::{Actor, Ctx};
pub struct UpdatePeeked;
impl Actor for UpdatePeeked {
type Options = UpdatePeekedForm;
const NAME: &str = "update_peeked";
fn act(cx: &mut Ctx, form: Self::Options) -> Result<Data> {
let Some(hovered) = cx.hovered().map(|h| &h.url) else {
succ!(cx.tab_mut().preview.reset());
};
if form.lock.url == *hovered {
cx.tab_mut().preview.lock = Some(form.lock);
render!();
}
succ!();
}
}