rl_lang/interpreter/stdlib/terminal/
poll.rs1use crate::interpreter::stdlib::common::{extract_number, vb, verr, vok, vs};
2use crate::interpreter::{evaluator::Evaluator, values::Value};
3use crossterm::event::poll;
4use std::time::Duration;
5
6pub fn func(_: &mut Evaluator, arg: Value) -> Value {
7 let ms = match extract_number(arg, "ms") {
8 Ok(v) => v,
9 Err(e) => return verr!(vs!(e)),
10 };
11
12 let ready = match poll(Duration::from_millis(ms)) {
13 Ok(v) => v,
14 Err(e) => return verr!(vs!(format!("term_poll(): {}", e))),
15 };
16 vok!(vb!(ready))
17}