aboutsummaryrefslogtreecommitdiff
path: root/src/vterm
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2023-05-24 10:04:49 +0200
committerChristian Clason <c.clason@uni-graz.at>2024-08-10 10:26:07 +0200
commit8df6736ca14d09f87cf0a8486758ac5708819434 (patch)
tree29434767d09bcff3c2e519ad417177d81f7f977f /src/vterm
parentfa79a8ad6deefeea81c1959d69aa4c8b2d993f99 (diff)
downloadrneovim-8df6736ca14d09f87cf0a8486758ac5708819434.tar.gz
rneovim-8df6736ca14d09f87cf0a8486758ac5708819434.tar.bz2
rneovim-8df6736ca14d09f87cf0a8486758ac5708819434.zip
feat(term): enable reflow by default (#21124)
Problem: Contents of terminal buffer are not reflown when Nvim is resized. Solution: Enable reflow in libvterm by default. Now that libvterm is vendored, also fix "TUI rapid resize" test failures there. Note: Neovim's scrollback buffer does not support reflow (yet), so lines vanishing into the buffer due to a too small window will be restored without reflow.
Diffstat (limited to 'src/vterm')
-rw-r--r--src/vterm/screen.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vterm/screen.c b/src/vterm/screen.c
index 97a8d50b93..720d1bb939 100644
--- a/src/vterm/screen.c
+++ b/src/vterm/screen.c
@@ -534,7 +534,7 @@ static void resize_buffer(VTermScreen *screen, int bufidx, int new_rows, int new
while(old_row >= 0) {
int old_row_end = old_row;
/* TODO: Stop if dwl or dhl */
- while(REFLOW && old_lineinfo && old_row >= 0 && old_lineinfo[old_row].continuation)
+ while(REFLOW && old_lineinfo && old_row > 0 && old_lineinfo[old_row].continuation)
old_row--;
int old_row_start = old_row;
@@ -596,7 +596,7 @@ static void resize_buffer(VTermScreen *screen, int bufidx, int new_rows, int new
#endif
if(new_row_start < 0) {
- if(old_row_start <= old_cursor.row && old_cursor.row < old_row_end) {
+ if(old_row_start <= old_cursor.row && old_cursor.row <= old_row_end) {
new_cursor.row = 0;
new_cursor.col = old_cursor.col;
if(new_cursor.col >= new_cols)