From cf22e1f50ef72101835faefd75567238fda3ffb5 Mon Sep 17 00:00:00 2001 From: Thomas Linford Date: Wed, 26 Jan 2022 18:50:29 +0100 Subject: [PATCH] fix(compatibility): handle csi erase param 3 (#1026) --- zellij-server/src/panes/grid.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/zellij-server/src/panes/grid.rs b/zellij-server/src/panes/grid.rs index 5db11671..bd898aa6 100644 --- a/zellij-server/src/panes/grid.rs +++ b/zellij-server/src/panes/grid.rs @@ -1145,6 +1145,11 @@ impl Grid { } self.output_buffer.update_all_lines(); } + fn clear_lines_above(&mut self) { + self.lines_above.clear(); + self.scrollback_buffer_lines = self.recalculate_scrollback_buffer_count(); + } + fn pad_current_line_until(&mut self, position: usize) { let current_row = self.viewport.get_mut(self.cursor.y).unwrap(); for _ in current_row.len()..position { @@ -1765,6 +1770,8 @@ impl Perform for Grid { self.clear_all_before_cursor(char_to_replace); } else if clear_type == 2 { self.fill_viewport(char_to_replace); + } else if clear_type == 3 { + self.clear_lines_above(); } }; } else if c == 'H' || c == 'f' {