rl_lang/interpreter/stdlib/terminal/
sync_output.rs1use crate::interpreter::{
2 evaluator::Evaluator,
3 stdlib::common::{try_fn, verr, vnl, vok, vs},
4 values::Value,
5};
6use crossterm::{
7 execute,
8 terminal::{BeginSynchronizedUpdate, EndSynchronizedUpdate},
9};
10use std::io::stdout;
11
12pub fn std_term_begin_sync(_: &mut Evaluator) -> Value {
13 try_fn!(
14 "term_begin_sync",
15 execute!(stdout(), BeginSynchronizedUpdate)
16 );
17 vok!(vnl!())
18}
19
20pub fn std_term_end_sync(_: &mut Evaluator) -> Value {
21 try_fn!("term_end_sync", execute!(stdout(), EndSynchronizedUpdate));
22 vok!(vnl!())
23}