diff options
Diffstat (limited to 'vendor/vt100/src/callbacks.rs')
| -rw-r--r-- | vendor/vt100/src/callbacks.rs | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/vendor/vt100/src/callbacks.rs b/vendor/vt100/src/callbacks.rs new file mode 100644 index 00000000..cce6f6c0 --- /dev/null +++ b/vendor/vt100/src/callbacks.rs @@ -0,0 +1,69 @@ +/// This trait is used by the parser 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 a visual bell + /// (typically with `\eg`). + fn visual_bell(&mut self, _: &mut crate::Screen) {} + /// This callback is called when the terminal requests a resize + /// (typically with `\e[8;<rows>;<cols>t`). + fn resize(&mut self, _: &mut crate::Screen, _request: (u16, u16)) {} + /// This callback is called when the terminal requests the window title + /// to be set (typically with `\e]1;<icon_name>\a`) + fn set_window_icon_name( + &mut self, + _: &mut crate::Screen, + _icon_name: &[u8], + ) { + } + /// This callback is called when the terminal requests the window title + /// to be set (typically with `\e]2;<title>\a`) + fn set_window_title(&mut self, _: &mut crate::Screen, _title: &[u8]) {} + /// This callback is called when the terminal requests data to be copied + /// to the system clipboard (typically with `\e]52;<ty>;<data>\a`). Note + /// that `data` will be encoded as base64. + fn copy_to_clipboard( + &mut self, + _: &mut crate::Screen, + _ty: &[u8], + _data: &[u8], + ) { + } + /// This callback is called when the terminal requests data to be pasted + /// from the system clipboard (typically with `\e]52;<ty>;?\a`). + fn paste_from_clipboard(&mut self, _: &mut crate::Screen, _ty: &[u8]) {} + /// This callback is called when the terminal receives an escape sequence + /// which is otherwise not implemented. + fn unhandled_char(&mut self, _: &mut crate::Screen, _c: char) {} + /// This callback is called when the terminal receives a control + /// character which is otherwise not implemented. + fn unhandled_control(&mut self, _: &mut crate::Screen, _b: u8) {} + /// This callback is called when the terminal receives an escape sequence + /// which is otherwise not implemented. + fn unhandled_escape( + &mut self, + _: &mut crate::Screen, + _i1: Option<u8>, + _i2: Option<u8>, + _b: u8, + ) { + } + /// This callback is called when the terminal receives a CSI sequence + /// (`\e[`) which is otherwise not implemented. + fn unhandled_csi( + &mut self, + _: &mut crate::Screen, + _i1: Option<u8>, + _i2: Option<u8>, + _params: &[&[u16]], + _c: char, + ) { + } + /// This callback is called when the terminal receives a OSC sequence + /// (`\e]`) which is otherwise not implemented. + fn unhandled_osc(&mut self, _: &mut crate::Screen, _params: &[&[u8]]) {} +} + +impl Callbacks for () {} |
