diff options
author | Björn Linse <bjorn.linse@gmail.com> | 2018-11-18 10:00:27 +0100 |
---|---|---|
committer | Björn Linse <bjorn.linse@gmail.com> | 2018-12-31 16:24:07 +0100 |
commit | 44b8e58f33f82ca1a7c5dbb879a688e317026040 (patch) | |
tree | 71b3a12d9580dd59f93bf8c815af7b9e46c7552f /test/functional/ui/screen.lua | |
parent | ed3da23cf45f5484e6c62fac9a4d3f2986fc20d5 (diff) | |
download | rneovim-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.lua | 17 |
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 |