Skip to main content

rl_lang/interpreter/stdlib/terminal/
mouse.rs

1use crate::interpreter::stdlib::common::{try_fn, verr, vnl, vok, vs};
2use crate::interpreter::{evaluator::Evaluator, values::Value};
3use crossterm::{
4    event::{DisableMouseCapture, EnableMouseCapture},
5    execute,
6};
7use std::io::stdout;
8
9pub fn std_term_enable_mouse(_: &mut Evaluator) -> Value {
10    try_fn!("term_enable_mouse", execute!(stdout(), EnableMouseCapture));
11    vok!(vnl!())
12}
13
14pub fn std_term_disable_mouse(_: &mut Evaluator) -> Value {
15    try_fn!(
16        "term_disable_mouse",
17        execute!(stdout(), DisableMouseCapture)
18    );
19    vok!(vnl!())
20}