From a705c1f07de2b8ec3ba4fe46377242f151b996c1 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Wed, 8 Mar 2023 22:31:00 -0500 Subject: use callbacks for events rather than tracking counters --- src/callbacks.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/callbacks.rs (limited to 'src/callbacks.rs') diff --git a/src/callbacks.rs b/src/callbacks.rs new file mode 100644 index 0000000..256eb58 --- /dev/null +++ b/src/callbacks.rs @@ -0,0 +1,13 @@ +/// This trait is used with `Parser::process_cb` to handle extra escape +/// sequences that don't have an impact on the terminal screen directly. +pub trait Callbacks { + /// This callback is called when the terminal requests an audible bell + /// (typically with `^G`). + fn audible_bell(&mut self, _: &mut crate::Screen) {} + /// This callback is called when the terminal requests an visual bell + /// (typically with `\eg`). + fn visual_bell(&mut self, _: &mut crate::Screen) {} + /// This callback is called when the terminal receives invalid input + /// (such as an invalid UTF-8 character or an used control character). + fn error(&mut self, _: &mut crate::Screen) {} +} -- cgit v1.2.3-54-g00ecf