rl_lang/interpreter/stdlib/terminal/
set_title.rs1use crate::interpreter::stdlib::common::{try_fn, verr, vnl, vok, vs};
2use crate::interpreter::stdlib::terminal::common::extract_byte;
3use crate::interpreter::{evaluator::Evaluator, values::Value};
4use crossterm::{execute, terminal::SetTitle};
5use std::io::stdout;
6
7pub fn func(_: &mut Evaluator, arg: Value) -> Value {
8 let title = match extract_byte(arg, "term_set_title") {
9 Ok(v) => v,
10 Err(e) => return verr!(vs!(e)),
11 };
12
13 try_fn!("term_set_title", execute!(stdout(), SetTitle(title)));
14 vok!(vnl!())
15}