aboutsummaryrefslogtreecommitdiff
path: root/test/functional/ui/screen.lua
diff options
context:
space:
mode:
authorBjörn Linse <bjorn.linse@gmail.com>2018-11-18 10:00:27 +0100
committerBjörn Linse <bjorn.linse@gmail.com>2018-12-31 16:24:07 +0100
commit44b8e58f33f82ca1a7c5dbb879a688e317026040 (patch)
tree71b3a12d9580dd59f93bf8c815af7b9e46c7552f /test/functional/ui/screen.lua
parented3da23cf45f5484e6c62fac9a4d3f2986fc20d5 (diff)
downloadrneovim-44b8e58f33f82ca1a7c5dbb879a688e317026040.tar.gz
rneovim-44b8e58f33f82ca1a7c5dbb879a688e317026040.tar.bz2
rneovim-44b8e58f33f82ca1a7c5dbb879a688e317026040.zip
multigrid: add tests for multiline messages and tabs
Diffstat (limited to 'test/functional/ui/screen.lua')
-rw-r--r--test/functional/ui/screen.lua17
1 files changed, 14 insertions, 3 deletions
diff --git a/test/functional/ui/screen.lua b/test/functional/ui/screen.lua
index 77b8a3e522..c5200c5841 100644
--- a/test/functional/ui/screen.lua
+++ b/test/functional/ui/screen.lua
@@ -157,7 +157,7 @@ function Screen.new(width, height)
cmdline_block = {},
wildmenu_items = nil,
wildmenu_selected = nil,
- win_position = nil,
+ win_position = {},
_session = nil,
_default_attr_ids = nil,
_default_attr_ignore = nil,
@@ -647,10 +647,13 @@ function Screen:_handle_grid_resize(grid, width, height)
}
end
-function Screen:_handle_msg_scroll_start()
+function Screen:_handle_win_scroll_over_start()
+ self.scroll_over = true
+ self.scroll_over_pos = self._grids[1].height
end
-function Screen:_handle_msg_scroll_reset()
+function Screen:_handle_win_scroll_over_reset()
+ self.scroll_over = false
end
function Screen:_handle_flush()
@@ -763,12 +766,17 @@ function Screen:_handle_scroll(count)
end
function Screen:_handle_grid_scroll(g, top, bot, left, right, rows, cols)
+ if self.scroll_over and g == 1 and top < self.scroll_over_pos then
+ self.scroll_over_pos = top
+ end
+
top = top+1
left = left+1
assert(cols == 0)
local grid = self._grids[g]
local start, stop, step
+
if rows > 0 then
start = top
stop = bot - rows
@@ -985,6 +993,9 @@ function Screen:_row_repr(gridnr, rownr, attr_state, cursor)
local current_attr_id
local i = 1
local has_windows = self._options.ext_multigrid and gridnr == 1
+ if self.scroll_over and self.scroll_over_pos < rownr then
+ has_windows = false
+ end
local row = self._grids[gridnr].rows[rownr]
while i <= #row do
local did_window = false