mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-21 23:01:05 +00:00
27 lines
553 B
Rust
27 lines
553 B
Rust
use anyhow::Result;
|
|
use yazi_macro::{render, succ};
|
|
use yazi_parser::mgr::UpdatePeekedOpt;
|
|
use yazi_shared::data::Data;
|
|
|
|
use crate::{Actor, Ctx};
|
|
|
|
pub struct UpdatePeeked;
|
|
|
|
impl Actor for UpdatePeeked {
|
|
type Options = UpdatePeekedOpt;
|
|
|
|
const NAME: &str = "update_peeked";
|
|
|
|
fn act(cx: &mut Ctx, opt: Self::Options) -> Result<Data> {
|
|
let Some(hovered) = cx.hovered().map(|h| &h.url) else {
|
|
succ!(cx.tab_mut().preview.reset());
|
|
};
|
|
|
|
if opt.lock.url == *hovered {
|
|
cx.tab_mut().preview.lock = Some(opt.lock);
|
|
render!();
|
|
}
|
|
|
|
succ!();
|
|
}
|
|
}
|