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.
parent
0f81d7dbe6
commit
48ac6a7023
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
2226
src/terminal/osc.zig
2226
src/terminal/osc.zig
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue