diff options
| author | Thomas Linford <tlinford@users.noreply.github.com> | 2022-01-26 18:50:29 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-26 18:50:29 +0100 |
| commit | cf22e1f50ef72101835faefd75567238fda3ffb5 (patch) | |
| tree | 1baa8a7934ffe922dc4cec239d4d310a436ad611 | |
| parent | docs(changelog): scroll by page up/down fix (diff) | |
| download | sl0ppij-cf22e1f50ef72101835faefd75567238fda3ffb5.tar.gz sl0ppij-cf22e1f50ef72101835faefd75567238fda3ffb5.tar.xz sl0ppij-cf22e1f50ef72101835faefd75567238fda3ffb5.zip | |
fix(compatibility): handle csi erase param 3 (#1026)
| -rw-r--r-- | zellij-server/src/panes/grid.rs | 7 |
1 files changed, 7 insertions, 0 deletions
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' { |
