aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/float_spec.lua
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-03-28 15:27:32 +0100
committerbfredl <bjorn.linse@gmail.com>2024-03-29 08:15:28 +0100
commit2e4e12756a697d4767ec294e1f268384395e7a7f (patch)
tree5dc431001eefa5e4dc26651eea1e7c1dcd093f76 /test/functional/ui/float_spec.lua
parente2224a7933b6e30ab6efb0b7ad4e3f26da57c226 (diff)
downloadrneovim-2e4e12756a697d4767ec294e1f268384395e7a7f.tar.gz
rneovim-2e4e12756a697d4767ec294e1f268384395e7a7f.tar.bz2
rneovim-2e4e12756a697d4767ec294e1f268384395e7a7f.zip
feat(ui): indicate margins for the area used by win_viewport
Problem: using win_viewport for implementing smooth scrolling in an external UI might run into problems when winbar or borders is used, as there is no indication that the entire grid is not used for scrolled buffer text. Solution: add `win_viewport_margins` event.
Diffstat (limited to 'test/functional/ui/float_spec.lua')
-rw-r--r--test/functional/ui/float_spec.lua26
1 files changed, 24 insertions, 2 deletions
diff --git a/test/functional/ui/float_spec.lua b/test/functional/ui/float_spec.lua
index 361ea3e778..e83f3ff57e 100644
--- a/test/functional/ui/float_spec.lua
+++ b/test/functional/ui/float_spec.lua
@@ -1536,7 +1536,12 @@ describe('float window', function()
}, win_viewport={
[2] = {win = 1000, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
[4] = {win = 1001, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0};
- }}
+ },
+ win_viewport_margins={
+ [2] = {win = 1000, top = 0, bottom = 0, left = 0, right = 0};
+ [4] = {win = 1001, top = 1, bottom = 1, left = 1, right = 1};
+ }
+ }
else
screen:expect{grid=[[
^ |
@@ -1736,7 +1741,12 @@ describe('float window', function()
}, win_viewport={
[2] = {win = 1000, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
[4] = {win = 1001, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0};
- }}
+ },
+ win_viewport_margins={
+ [2] = {win = 1000, top = 0, bottom = 0, left = 0, right = 0};
+ [4] = {win = 1001, top = 0, bottom = 0, left = 1, right = 1};
+ }
+ }
else
screen:expect{grid=[[
^ |
@@ -1769,6 +1779,10 @@ describe('float window', function()
}, win_viewport={
[2] = {win = 1000, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
[4] = {win = 1001, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0};
+ },
+ win_viewport_margins={
+ [2] = {win = 1000, top = 0, bottom = 0, left = 0, right = 0};
+ [4] = {win = 1001, top = 1, bottom = 1, left = 0, right = 0};
}}
else
screen:expect{grid=[[
@@ -1814,6 +1828,10 @@ describe('float window', function()
}, win_viewport={
[2] = {win = 1000, topline = 0, botline = 6, curline = 5, curcol = 0, linecount = 6, sum_scroll_delta = 0};
[4] = {win = 1001, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 2, sum_scroll_delta = 0};
+ },
+ win_viewport_margins={
+ [2] = {win = 1000, top = 0, bottom = 0, left = 0, right = 0};
+ [4] = {win = 1001, top = 0, bottom = 1, left = 0, right = 1};
}}
else
screen:expect{grid=[[
@@ -8361,6 +8379,10 @@ describe('float window', function()
}, win_viewport={
[2] = {win = 1000, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
[4] = {win = 1001, topline = 0, botline = 2, curline = 0, curcol = 0, linecount = 1, sum_scroll_delta = 0};
+ },
+ win_viewport_margins={
+ [2] = {win = 1000, top = 0, bottom = 0, left = 0, right = 0};
+ [4] = {win = 1001, top = 2, bottom = 1, left = 1, right = 1};
}}
else
screen:expect{grid=[[