core: add new OSC parser

This replaces the OSC parser with one that only uses a state machine to
determine which OSC is being handled, rather than parsing the whole OSC.
Once the OSC command is determined the remainder of the data is stored
in a buffer until the terminator is found. The data is then parsed to
determine the final OSC command.
Jeffrey C. Ollie 2025-12-17 17:36:18 -06:00
parent 0f81d7dbe6
commit 48ac6a7023
No known key found for this signature in database
GPG Key ID: 1BB9EB7EA602265B
2 changed files with 986 additions and 1244 deletions

View File

@ -17,6 +17,10 @@ pub const OSC = struct {
/// request.
terminator: Terminator = .st,
pub fn deinit(self: *OSC, alloc: std.mem.Allocator) void {
self.list.deinit(alloc);
}
/// We don't currently support encoding this to C in any way.
pub const C = void;

File diff suppressed because it is too large Load Diff