mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-24 00:01:03 +00:00
42 lines
650 B
Rust
42 lines
650 B
Rust
#[macro_export]
|
|
macro_rules! render {
|
|
() => {
|
|
yazi_shared::event::NEED_RENDER.store(1, std::sync::atomic::Ordering::Relaxed);
|
|
};
|
|
($cond:expr) => {
|
|
if $cond {
|
|
render!();
|
|
}
|
|
};
|
|
($left:expr, > $right:expr) => {{
|
|
let val = $left;
|
|
if val > $right {
|
|
render!();
|
|
}
|
|
val
|
|
}};
|
|
}
|
|
|
|
#[macro_export]
|
|
macro_rules! render_and {
|
|
($cond:expr) => {
|
|
if $cond {
|
|
yazi_macro::render!();
|
|
true
|
|
} else {
|
|
false
|
|
}
|
|
};
|
|
}
|
|
|
|
#[macro_export]
|
|
macro_rules! render_partial {
|
|
() => {{
|
|
_ = yazi_shared::event::NEED_RENDER.compare_exchange(
|
|
0,
|
|
2,
|
|
std::sync::atomic::Ordering::Relaxed,
|
|
std::sync::atomic::Ordering::Relaxed,
|
|
);
|
|
}};
|
|
}
|