mirror of
https://github.com/neovim/neovim.git
synced 2026-01-04 10:26:42 +10:00
vim-patch:9.1.0215: Half-page scrolling does not support smooth-scrolling
Problem: Page-wise scrolling with Ctrl-D/Ctrl-U implements
it's own logic to change the topline and cursor.
More logic than necessary for scrolling with Ctrl-F/Ctrl-B
was removed in patch 9.1.0211.
Solution: Re-use the logic from Ctrl-E/Ctrl-Y/Ctrl-F/Ctrl-B while
staying backward compatible as much as possible.
Restore some of the logic that determined how many lines will
be scrolled (Luuk van Baal)
5a2e3ec9ac
This commit is contained in:
@@ -1312,15 +1312,15 @@ func Test_edit_PAGEUP_PAGEDOWN()
|
||||
call feedkeys("i\<PageDown>\<esc>", 'tnix')
|
||||
call assert_equal([0, 30, 1, 0], getpos('.'))
|
||||
call feedkeys("A\<PageUp>\<esc>", 'tnix')
|
||||
call assert_equal([0, 30, 1, 0], getpos('.'))
|
||||
call assert_equal([0, 29, 1, 0], getpos('.'))
|
||||
call feedkeys("A\<PageUp>\<esc>", 'tnix')
|
||||
call assert_equal([0, 23, 1, 0], getpos('.'))
|
||||
call assert_equal([0, 21, 1, 0], getpos('.'))
|
||||
call feedkeys("A\<PageUp>\<esc>", 'tnix')
|
||||
call assert_equal([0, 15, 1, 0], getpos('.'))
|
||||
call assert_equal([0, 13, 1, 0], getpos('.'))
|
||||
call feedkeys("A\<PageUp>\<esc>", 'tnix')
|
||||
call assert_equal([0, 10, 1, 0], getpos('.'))
|
||||
call feedkeys("A\<PageUp>\<esc>", 'tnix')
|
||||
call assert_equal([0, 10, 11, 0], getpos('.'))
|
||||
call assert_equal([0, 2, 11, 0], getpos('.'))
|
||||
" <S-Up> is the same as <PageUp>
|
||||
" <S-Down> is the same as <PageDown>
|
||||
call cursor(1, 1)
|
||||
@@ -1335,28 +1335,28 @@ func Test_edit_PAGEUP_PAGEDOWN()
|
||||
call feedkeys("i\<S-Down>\<esc>", 'tnix')
|
||||
call assert_equal([0, 30, 1, 0], getpos('.'))
|
||||
call feedkeys("A\<S-Up>\<esc>", 'tnix')
|
||||
call assert_equal([0, 30, 1, 0], getpos('.'))
|
||||
call assert_equal([0, 29, 1, 0], getpos('.'))
|
||||
call feedkeys("A\<S-Up>\<esc>", 'tnix')
|
||||
call assert_equal([0, 23, 1, 0], getpos('.'))
|
||||
call assert_equal([0, 21, 1, 0], getpos('.'))
|
||||
call feedkeys("A\<S-Up>\<esc>", 'tnix')
|
||||
call assert_equal([0, 15, 1, 0], getpos('.'))
|
||||
call assert_equal([0, 13, 1, 0], getpos('.'))
|
||||
call feedkeys("A\<S-Up>\<esc>", 'tnix')
|
||||
call assert_equal([0, 10, 1, 0], getpos('.'))
|
||||
call feedkeys("A\<S-Up>\<esc>", 'tnix')
|
||||
call assert_equal([0, 10, 11, 0], getpos('.'))
|
||||
call assert_equal([0, 2, 11, 0], getpos('.'))
|
||||
set nostartofline
|
||||
call cursor(30, 11)
|
||||
norm! zt
|
||||
call feedkeys("A\<PageUp>\<esc>", 'tnix')
|
||||
call assert_equal([0, 30, 11, 0], getpos('.'))
|
||||
call assert_equal([0, 29, 11, 0], getpos('.'))
|
||||
call feedkeys("A\<PageUp>\<esc>", 'tnix')
|
||||
call assert_equal([0, 23, 11, 0], getpos('.'))
|
||||
call assert_equal([0, 21, 11, 0], getpos('.'))
|
||||
call feedkeys("A\<PageUp>\<esc>", 'tnix')
|
||||
call assert_equal([0, 15, 11, 0], getpos('.'))
|
||||
call assert_equal([0, 13, 11, 0], getpos('.'))
|
||||
call feedkeys("A\<PageUp>\<esc>", 'tnix')
|
||||
call assert_equal([0, 10, 11, 0], getpos('.'))
|
||||
call feedkeys("A\<PageUp>\<esc>", 'tnix')
|
||||
call assert_equal([0, 10, 11, 0], getpos('.'))
|
||||
call assert_equal([0, 2, 11, 0], getpos('.'))
|
||||
call cursor(1, 1)
|
||||
call feedkeys("A\<PageDown>\<esc>", 'tnix')
|
||||
call assert_equal([0, 9, 11, 0], getpos('.'))
|
||||
@@ -1373,15 +1373,15 @@ func Test_edit_PAGEUP_PAGEDOWN()
|
||||
call cursor(30, 11)
|
||||
norm! zt
|
||||
call feedkeys("A\<S-Up>\<esc>", 'tnix')
|
||||
call assert_equal([0, 30, 11, 0], getpos('.'))
|
||||
call assert_equal([0, 29, 11, 0], getpos('.'))
|
||||
call feedkeys("A\<S-Up>\<esc>", 'tnix')
|
||||
call assert_equal([0, 23, 11, 0], getpos('.'))
|
||||
call assert_equal([0, 21, 11, 0], getpos('.'))
|
||||
call feedkeys("A\<S-Up>\<esc>", 'tnix')
|
||||
call assert_equal([0, 15, 11, 0], getpos('.'))
|
||||
call assert_equal([0, 13, 11, 0], getpos('.'))
|
||||
call feedkeys("A\<S-Up>\<esc>", 'tnix')
|
||||
call assert_equal([0, 10, 11, 0], getpos('.'))
|
||||
call feedkeys("A\<S-Up>\<esc>", 'tnix')
|
||||
call assert_equal([0, 10, 11, 0], getpos('.'))
|
||||
call assert_equal([0, 2, 11, 0], getpos('.'))
|
||||
call cursor(1, 1)
|
||||
call feedkeys("A\<S-Down>\<esc>", 'tnix')
|
||||
call assert_equal([0, 9, 11, 0], getpos('.'))
|
||||
|
||||
Reference in New Issue
Block a user