diff options
| author | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-03-31 20:49:05 +0300 |
|---|---|---|
| committer | Ogulcan Celik <ogulcancelik@gmail.com> | 2026-03-31 20:49:05 +0300 |
| commit | 41e009f9b7b46d335d41b365e41f9ad57d571ecb (patch) | |
| tree | 42b3be90c336ad6d4487e9f86abc56ebb40ba210 /vendor/vt100/src/callbacks.rs | |
| parent | f826fb78dcac89b4ba23e399ac5d141459c14ae9 (diff) | |
fix alt-screen scrollback handling
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 () {} |
