neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 39caf86e8aa0f6bd803b538b2d864f7dc94fc8dd
parent dc394b9641f92a5014147da58f5e14fd1681ec0f
Author: bfredl <bjorn.linse@gmail.com>
Date:   Wed,  3 May 2023 15:49:25 +0200

Merge pull request #23428 from luukvbaal/gridclear

fix(tui): grid_clear properly clears the screen
Diffstat:
Msrc/nvim/tui/tui.c | 2+-
Mtest/functional/terminal/api_spec.lua | 8++++----
Mtest/functional/terminal/tui_spec.lua | 13+++++++++++++
3 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/src/nvim/tui/tui.c b/src/nvim/tui/tui.c @@ -977,7 +977,7 @@ void tui_grid_clear(TUIData *tui, Integer g) UGrid *grid = &tui->grid; ugrid_clear(grid); kv_size(tui->invalid_regions) = 0; - clear_region(tui, 0, grid->height, 0, grid->width, 0); + clear_region(tui, 0, tui->height, 0, tui->width, 0); } void tui_grid_cursor_goto(TUIData *tui, Integer grid, Integer row, Integer col) diff --git a/test/functional/terminal/api_spec.lua b/test/functional/terminal/api_spec.lua @@ -66,10 +66,10 @@ describe('api', function() screen:expect([[ [tui] insert-mode | - [socket 1] this is more t{4: }| - han 25 columns {4: }| - [socket 2] input{1: } {4: }| - {4:~ }| + [socket 1] this is more t | + han 25 columns | + [socket 2] input{1: } | + {4:~ } | {3:-- INSERT --} | {3:-- TERMINAL --} | ]]) diff --git a/test/functional/terminal/tui_spec.lua b/test/functional/terminal/tui_spec.lua @@ -2422,6 +2422,19 @@ describe("TUI as a client", function() {3:-- TERMINAL --} | ]]} + -- grid smaller than containing terminal window is cleared properly + feed_data(":call setline(1,['a'->repeat(&columns)]->repeat(&lines))\n") + feed_data("0:set lines=2\n") + screen_server:expect{grid=[[ + {1:a}aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa| + {5:[No Name] [+] }| + | + | + | + | + {3:-- TERMINAL --} | + ]]} + feed_data(":q!\n") server_super:close()