yazi/yazi-macro/src/event.rs
2025-02-26 03:01:17 +08:00

39 lines
701 B
Rust

#[macro_export]
macro_rules! emit {
(Quit($opt:expr)) => {
yazi_shared::event::Event::Quit($opt).emit();
};
(Call($cmd:expr)) => {
yazi_shared::event::Event::Call(yazi_shared::event::CmdCow::from($cmd)).emit();
};
(Seq($cmds:expr)) => {
yazi_shared::event::Event::Seq($cmds).emit();
};
($event:ident) => {
yazi_shared::event::Event::$event.emit();
};
}
#[macro_export]
macro_rules! render {
() => {
yazi_shared::event::NEED_RENDER.store(true, std::sync::atomic::Ordering::Relaxed);
};
($cond:expr) => {
if $cond {
render!();
}
};
}
#[macro_export]
macro_rules! render_and {
($cond:expr) => {
if $cond {
yazi_macro::render!();
true
} else {
false
}
};
}