From a9bf864158e67353f57047cdc4d6b0e325d73eae Mon Sep 17 00:00:00 2001 From: Jonas Maier <> Date: Tue, 21 Apr 2026 19:59:02 +0200 Subject: maybe soon better escape code parsing --- src/run/builtin.rs | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'src/run/builtin.rs') diff --git a/src/run/builtin.rs b/src/run/builtin.rs index c080c93..f5dff81 100644 --- a/src/run/builtin.rs +++ b/src/run/builtin.rs @@ -564,3 +564,40 @@ impl Builtin for debug { Ok(()) } } + +pub struct terminfo; +impl Builtin for terminfo { + fn name(&self) -> &str { + "terminfo" + } + + fn io( + &self, + _session: Arc>, + _args: &[BString], + _stdin: &mut dyn Read, + f: &mut dyn Write, + ) -> Result { + let ti = crate::ansi::ti(); + + writeln!(f, "# Booleans")?; + for k in ti.booleans.iter() { + writeln!(f, "{k}")?; + } + writeln!(f)?; + + writeln!(f, "# Numbers")?; + for (k, v) in ti.numbers.iter() { + writeln!(f, "{k} {v}")?; + } + writeln!(f)?; + + writeln!(f, "# Strings")?; + for (k, v) in ti.strings.iter() { + writeln!(f, "{k} {}", v.escape_ascii())?; + } + writeln!(f)?; + + Ok(()) + } +} -- cgit v1.2.3