aboutsummaryrefslogtreecommitdiff
path: root/src/pane/terminal
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-28 16:19:42 +0300
committerGitHub <noreply@github.com>2026-09-28 16:19:42 +0300
commit80c0c07250d22f69d3fa05cb1700302d66180eb8 (patch)
tree9e1903d65c83263354be4b2166f3a7c92dc2a8e2 /src/pane/terminal
parent8c8cb49c237eec2f82192dd831ec7308905f2c0a (diff)
perf: send scrolling pane output as row shifts and skip blank cells (#4711)
* perf: send scrolling pane output as row shifts and skip blank cells * fix: keep expanded scroll patches disjoint for the fast presentation path
Diffstat (limited to 'src/pane/terminal')
-rw-r--r--src/pane/terminal/migration_tests.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/pane/terminal/migration_tests.rs b/src/pane/terminal/migration_tests.rs
index 09e5df01..aaf91f27 100644
--- a/src/pane/terminal/migration_tests.rs
+++ b/src/pane/terminal/migration_tests.rs
@@ -311,6 +311,13 @@ fn incremental_rows_reconstruct_full_render() {
b"\x1b[3;4H",
b"\x1b[?1049hALT",
b"\x1b[?1049l",
+ // Blank cells must match the full renderer under every color source.
+ b"\x1b[3;1H\x1b[44m\x1b[2K\x1b[0m",
+ b"\x1b[4;2H\x1b[7m \x1b[0m \x1b[8m \x1b[0m",
+ b"\x1b[?5h",
+ b"\x1b[?5l",
+ b"\x1b[5;1H\x1b]133;A\x07$ \x1b]133;B\x07 \x1b]133;C\x07",
+ b"\x1b[5;1H\r\n\r\nscrolled\r\n",
] {
incremental.write(bytes);
full.write(bytes);