mirror of
https://github.com/neovim/neovim.git
synced 2024-09-17 20:58:20 -04:00
fix(move): check for filler lines properly (#28307)
vim-patch:9.1.0310: Filler lines not checked properly in get_scroll_overlap()
This commit is contained in:
parent
2c5fd3f966
commit
64aa0f7d0b
@ -2362,7 +2362,7 @@ static int get_scroll_overlap(Direction dir)
|
|||||||
}
|
}
|
||||||
|
|
||||||
loff.lnum = dir == FORWARD ? curwin->w_botline : curwin->w_topline - 1;
|
loff.lnum = dir == FORWARD ? curwin->w_botline : curwin->w_topline - 1;
|
||||||
loff.fill = win_get_fill(curwin, loff.lnum + dir == BACKWARD)
|
loff.fill = win_get_fill(curwin, loff.lnum + (dir == BACKWARD))
|
||||||
- (dir == FORWARD ? curwin->w_filler_rows : curwin->w_topfill);
|
- (dir == FORWARD ? curwin->w_filler_rows : curwin->w_topfill);
|
||||||
loff.height = loff.fill > 0 ? 1 : plines_win_nofill(curwin, loff.lnum, true);
|
loff.height = loff.fill > 0 ? 1 : plines_win_nofill(curwin, loff.lnum, true);
|
||||||
|
|
||||||
|
@ -4894,6 +4894,88 @@ if (h->n_buckets < new_n_buckets) { // expand
|
|||||||
|
|
|
|
||||||
]])
|
]])
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
it('works with full page scrolling #28390', function()
|
||||||
|
screen:try_resize(20, 8)
|
||||||
|
command('call setline(1, range(20))')
|
||||||
|
api.nvim_buf_set_extmark(0, ns, 10, 0, { virt_lines = {{{'VIRT1'}}, {{'VIRT2'}}} })
|
||||||
|
screen:expect([[
|
||||||
|
^0 |
|
||||||
|
1 |
|
||||||
|
2 |
|
||||||
|
3 |
|
||||||
|
4 |
|
||||||
|
5 |
|
||||||
|
6 |
|
||||||
|
|
|
||||||
|
]])
|
||||||
|
feed('<C-F>')
|
||||||
|
screen:expect([[
|
||||||
|
^5 |
|
||||||
|
6 |
|
||||||
|
7 |
|
||||||
|
8 |
|
||||||
|
9 |
|
||||||
|
10 |
|
||||||
|
VIRT1 |
|
||||||
|
|
|
||||||
|
]])
|
||||||
|
feed('<C-F>')
|
||||||
|
screen:expect([[
|
||||||
|
^10 |
|
||||||
|
VIRT1 |
|
||||||
|
VIRT2 |
|
||||||
|
11 |
|
||||||
|
12 |
|
||||||
|
13 |
|
||||||
|
14 |
|
||||||
|
|
|
||||||
|
]])
|
||||||
|
feed('<C-F>')
|
||||||
|
screen:expect([[
|
||||||
|
^13 |
|
||||||
|
14 |
|
||||||
|
15 |
|
||||||
|
16 |
|
||||||
|
17 |
|
||||||
|
18 |
|
||||||
|
19 |
|
||||||
|
|
|
||||||
|
]])
|
||||||
|
feed('<C-B>')
|
||||||
|
screen:expect([[
|
||||||
|
10 |
|
||||||
|
VIRT1 |
|
||||||
|
VIRT2 |
|
||||||
|
11 |
|
||||||
|
12 |
|
||||||
|
^13 |
|
||||||
|
14 |
|
||||||
|
|
|
||||||
|
]])
|
||||||
|
feed('<C-B>')
|
||||||
|
screen:expect([[
|
||||||
|
5 |
|
||||||
|
6 |
|
||||||
|
7 |
|
||||||
|
8 |
|
||||||
|
9 |
|
||||||
|
^10 |
|
||||||
|
VIRT1 |
|
||||||
|
|
|
||||||
|
]])
|
||||||
|
feed('<C-B>')
|
||||||
|
screen:expect([[
|
||||||
|
0 |
|
||||||
|
1 |
|
||||||
|
2 |
|
||||||
|
3 |
|
||||||
|
4 |
|
||||||
|
5 |
|
||||||
|
^6 |
|
||||||
|
|
|
||||||
|
]])
|
||||||
|
end)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
describe('decorations: signs', function()
|
describe('decorations: signs', function()
|
||||||
|
Loading…
Reference in New Issue
Block a user