aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/screen.lua
diff options
context:
space:
mode:
authorbfredl <bjorn.linse@gmail.com>2024-03-29 08:35:08 +0100
committerGitHub <noreply@github.com>2024-03-29 08:35:08 +0100
commitb1615a35f08ae3073f7d2e4e8e080907f0d48e92 (patch)
tree5dc431001eefa5e4dc26651eea1e7c1dcd093f76 /test/functional/ui/screen.lua
parente2224a7933b6e30ab6efb0b7ad4e3f26da57c226 (diff)
parent2e4e12756a697d4767ec294e1f268384395e7a7f (diff)
downloadrneovim-b1615a35f08ae3073f7d2e4e8e080907f0d48e92.tar.gz
rneovim-b1615a35f08ae3073f7d2e4e8e080907f0d48e92.tar.bz2
rneovim-b1615a35f08ae3073f7d2e4e8e080907f0d48e92.zip
Merge pull request #28081 from bfredl/viewport_margin
feature(ui): indicate margins for the area used by win_viewport
Diffstat (limited to 'test/functional/ui/screen.lua')
-rw-r--r--test/functional/ui/screen.lua19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua
index d741b440c5..ee9334a9fe 100644
--- a/test/functional/ui/screen.lua
+++ b/test/functional/ui/screen.lua
@@ -204,6 +204,7 @@ function Screen.new(width, height)
wildmenu_selected = nil,
win_position = {},
win_viewport = {},
+ win_viewport_margins = {},
float_pos = {},
msg_grid = nil,
msg_grid_pos = nil,
@@ -337,6 +338,7 @@ local ext_keys = {
'ruler',
'float_pos',
'win_viewport',
+ 'win_viewport_margins',
}
local expect_keys = {
@@ -621,6 +623,9 @@ screen:redraw_debug() to show all intermediate screen states.]]
if expected.win_viewport == nil then
extstate.win_viewport = nil
end
+ if expected.win_viewport_margins == nil then
+ extstate.win_viewport_margins = nil
+ end
if expected.float_pos then
expected.float_pos = deepcopy(expected.float_pos)
@@ -993,6 +998,7 @@ function Screen:_handle_grid_destroy(grid)
if self._options.ext_multigrid then
self.win_position[grid] = nil
self.win_viewport[grid] = nil
+ self.win_viewport_margins[grid] = nil
end
end
@@ -1048,6 +1054,16 @@ function Screen:_handle_win_viewport(
}
end
+function Screen:_handle_win_viewport_margins(grid, win, top, bottom, left, right)
+ self.win_viewport_margins[grid] = {
+ win = win,
+ top = top,
+ bottom = bottom,
+ left = left,
+ right = right,
+ }
+end
+
function Screen:_handle_win_float_pos(grid, ...)
self.win_position[grid] = nil
self.float_pos[grid] = { ... }
@@ -1466,6 +1482,8 @@ function Screen:_extstate_repr(attr_state)
end
local win_viewport = (next(self.win_viewport) and self.win_viewport) or nil
+ local win_viewport_margins = (next(self.win_viewport_margins) and self.win_viewport_margins)
+ or nil
return {
popupmenu = self.popupmenu,
@@ -1480,6 +1498,7 @@ function Screen:_extstate_repr(attr_state)
msg_history = msg_history,
float_pos = self.float_pos,
win_viewport = win_viewport,
+ win_viewport_margins = win_viewport_margins,
}
end