Mercurial > vim
annotate src/testdir/test_scroll_opt.vim @ 32403:1b0ade08ec91 v9.0.1533
patch 9.0.1533: test for 'smoothscroll' is ineffective
Commit: https://github.com/vim/vim/commit/6f37e530d3e2d58ff055723047bf91d91af2632c
Author: Luuk van Baal <luukvbaal@gmail.com>
Date: Tue May 9 21:23:54 2023 +0100
patch 9.0.1533: test for 'smoothscroll' is ineffective
Problem: Test for 'smoothscroll' is ineffective.
Solution: Change the order of testing "zb" and "zt". (Luuk van Baal,
closes #12366)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 09 May 2023 22:30:05 +0200 |
parents | 1ddef52ea786 |
children | 667d85c09e9c |
rev | line source |
---|---|
30610
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
1 " Test for reset 'scroll' and 'smoothscroll' |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
2 |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
3 source check.vim |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
4 source screendump.vim |
31154
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
5 source mouse.vim |
12718
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 func Test_reset_scroll() |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 let scr = &l:scroll |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 setlocal scroll=1 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 setlocal scroll& |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 call assert_equal(scr, &l:scroll) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 setlocal scroll=1 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 setlocal scroll=0 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 call assert_equal(scr, &l:scroll) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 try |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
19 execute 'setlocal scroll=' . (winheight(0) + 1) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
20 " not reached |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 call assert_false(1) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 catch |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 call assert_exception('E49:') |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 endtry |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 split |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 let scr = &l:scroll |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 setlocal scroll=1 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 setlocal scroll& |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 call assert_equal(scr, &l:scroll) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
33 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
34 setlocal scroll=1 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
35 setlocal scroll=0 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
36 call assert_equal(scr, &l:scroll) |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
37 |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
38 quit! |
f8f505ffc0a6
patch 8.0.1237: ":set scroll&" often gives an error
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
39 endfunc |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
12718
diff
changeset
|
40 |
31954
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
41 func Test_scolloff_even_line_count() |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
42 new |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
43 resize 6 |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
44 setlocal scrolloff=3 |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
45 call setline(1, range(20)) |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
46 normal 2j |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
47 call assert_equal(1, getwininfo(win_getid())[0].topline) |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
48 normal j |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
49 call assert_equal(1, getwininfo(win_getid())[0].topline) |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
50 normal j |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
51 call assert_equal(2, getwininfo(win_getid())[0].topline) |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
52 normal j |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
53 call assert_equal(3, getwininfo(win_getid())[0].topline) |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
54 |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
55 bwipe! |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
56 endfunc |
d8fdafc4b390
patch 9.0.1309: scrolling two lines with even line count and 'scrolloff' set
Bram Moolenaar <Bram@vim.org>
parents:
31849
diff
changeset
|
57 |
30620
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
58 func Test_CtrlE_CtrlY_stop_at_end() |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
59 enew |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
60 call setline(1, ['one', 'two']) |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
61 set number |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
62 exe "normal \<C-Y>" |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
63 call assert_equal([" 1 one "], ScreenLines(1, 10)) |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
64 exe "normal \<C-E>\<C-E>\<C-E>" |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
65 call assert_equal([" 2 two "], ScreenLines(1, 10)) |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
66 |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
67 bwipe! |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
68 set nonumber |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
69 endfunc |
70d6345a2976
patch 9.0.0645: CTRL-Y does not stop at line 1
Bram Moolenaar <Bram@vim.org>
parents:
30610
diff
changeset
|
70 |
30610
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
71 func Test_smoothscroll_CtrlE_CtrlY() |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
72 CheckScreendump |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
73 |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
74 let lines =<< trim END |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
75 vim9script |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
76 setline(1, [ |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
77 'line one', |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
78 'word '->repeat(20), |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
79 'line three', |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
80 'long word '->repeat(7), |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
81 'line', |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
82 'line', |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
83 'line', |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
84 ]) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
85 set smoothscroll |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
86 :5 |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
87 END |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
88 call writefile(lines, 'XSmoothScroll', 'D') |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
89 let buf = RunVimInTerminal('-S XSmoothScroll', #{rows: 12, cols: 40}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
90 |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
91 call term_sendkeys(buf, "\<C-E>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
92 call VerifyScreenDump(buf, 'Test_smoothscroll_1', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
93 call term_sendkeys(buf, "\<C-E>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
94 call VerifyScreenDump(buf, 'Test_smoothscroll_2', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
95 call term_sendkeys(buf, "\<C-E>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
96 call VerifyScreenDump(buf, 'Test_smoothscroll_3', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
97 call term_sendkeys(buf, "\<C-E>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
98 call VerifyScreenDump(buf, 'Test_smoothscroll_4', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
99 |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
100 call term_sendkeys(buf, "\<C-Y>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
101 call VerifyScreenDump(buf, 'Test_smoothscroll_5', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
102 call term_sendkeys(buf, "\<C-Y>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
103 call VerifyScreenDump(buf, 'Test_smoothscroll_6', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
104 call term_sendkeys(buf, "\<C-Y>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
105 call VerifyScreenDump(buf, 'Test_smoothscroll_7', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
106 call term_sendkeys(buf, "\<C-Y>") |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
107 call VerifyScreenDump(buf, 'Test_smoothscroll_8', {}) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
108 |
30622
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
109 if has('folding') |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
110 call term_sendkeys(buf, ":set foldmethod=indent\<CR>") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
111 " move the cursor so we can reuse the same dumps |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
112 call term_sendkeys(buf, "5G") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
113 call term_sendkeys(buf, "\<C-E>") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
114 call VerifyScreenDump(buf, 'Test_smoothscroll_1', {}) |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
115 call term_sendkeys(buf, "\<C-E>") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
116 call VerifyScreenDump(buf, 'Test_smoothscroll_2', {}) |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
117 call term_sendkeys(buf, "7G") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
118 call term_sendkeys(buf, "\<C-Y>") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
119 call VerifyScreenDump(buf, 'Test_smoothscroll_7', {}) |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
120 call term_sendkeys(buf, "\<C-Y>") |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
121 call VerifyScreenDump(buf, 'Test_smoothscroll_8', {}) |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
122 endif |
ffd6e3bd65b8
patch 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
Bram Moolenaar <Bram@vim.org>
parents:
30620
diff
changeset
|
123 |
30610
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
124 call StopVimInTerminal(buf) |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
125 endfunc |
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
126 |
30635
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
127 func Test_smoothscroll_number() |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
128 CheckScreendump |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
129 |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
130 let lines =<< trim END |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
131 vim9script |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
132 setline(1, [ |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
133 'one ' .. 'word '->repeat(20), |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
134 'two ' .. 'long word '->repeat(7), |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
135 'line', |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
136 'line', |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
137 'line', |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
138 ]) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
139 set smoothscroll |
32349
8323e235ff44
patch 9.0.1506: line number not displayed when using 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31954
diff
changeset
|
140 set splitkeep=topline |
30635
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
141 set number cpo+=n |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
142 :3 |
30845
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
143 |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
144 def g:DoRel() |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
145 set number relativenumber scrolloff=0 |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
146 :%del |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
147 setline(1, [ |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
148 'one', |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
149 'very long text '->repeat(12), |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
150 'three', |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
151 ]) |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
152 exe "normal 2Gzt\<C-E>" |
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
153 enddef |
30635
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
154 END |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
155 call writefile(lines, 'XSmoothNumber', 'D') |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
156 let buf = RunVimInTerminal('-S XSmoothNumber', #{rows: 12, cols: 40}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
157 |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
158 call VerifyScreenDump(buf, 'Test_smooth_number_1', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
159 call term_sendkeys(buf, "\<C-E>") |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
160 call VerifyScreenDump(buf, 'Test_smooth_number_2', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
161 call term_sendkeys(buf, "\<C-E>") |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
162 call VerifyScreenDump(buf, 'Test_smooth_number_3', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
163 |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
164 call term_sendkeys(buf, ":set cpo-=n\<CR>") |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
165 call VerifyScreenDump(buf, 'Test_smooth_number_4', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
166 call term_sendkeys(buf, "\<C-Y>") |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
167 call VerifyScreenDump(buf, 'Test_smooth_number_5', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
168 call term_sendkeys(buf, "\<C-Y>") |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
169 call VerifyScreenDump(buf, 'Test_smooth_number_6', {}) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
170 |
32349
8323e235ff44
patch 9.0.1506: line number not displayed when using 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31954
diff
changeset
|
171 call term_sendkeys(buf, ":botright split\<CR>gg") |
8323e235ff44
patch 9.0.1506: line number not displayed when using 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31954
diff
changeset
|
172 call VerifyScreenDump(buf, 'Test_smooth_number_7', {}) |
8323e235ff44
patch 9.0.1506: line number not displayed when using 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31954
diff
changeset
|
173 call term_sendkeys(buf, "\<C-E>") |
8323e235ff44
patch 9.0.1506: line number not displayed when using 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31954
diff
changeset
|
174 call VerifyScreenDump(buf, 'Test_smooth_number_8', {}) |
8323e235ff44
patch 9.0.1506: line number not displayed when using 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31954
diff
changeset
|
175 call term_sendkeys(buf, "\<C-E>") |
8323e235ff44
patch 9.0.1506: line number not displayed when using 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31954
diff
changeset
|
176 call VerifyScreenDump(buf, 'Test_smooth_number_9', {}) |
8323e235ff44
patch 9.0.1506: line number not displayed when using 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31954
diff
changeset
|
177 call term_sendkeys(buf, ":close\<CR>") |
8323e235ff44
patch 9.0.1506: line number not displayed when using 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31954
diff
changeset
|
178 |
30845
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
179 call term_sendkeys(buf, ":call DoRel()\<CR>") |
32349
8323e235ff44
patch 9.0.1506: line number not displayed when using 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31954
diff
changeset
|
180 call VerifyScreenDump(buf, 'Test_smooth_number_10', {}) |
30845
fa3aba805a34
patch 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
Bram Moolenaar <Bram@vim.org>
parents:
30799
diff
changeset
|
181 |
30635
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
182 call StopVimInTerminal(buf) |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
183 endfunc |
604d7d7aa043
patch 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
Bram Moolenaar <Bram@vim.org>
parents:
30622
diff
changeset
|
184 |
30847
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
185 func Test_smoothscroll_list() |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
186 CheckScreendump |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
187 |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
188 let lines =<< trim END |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
189 vim9script |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
190 set smoothscroll scrolloff=0 |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
191 set list |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
192 setline(1, [ |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
193 'one', |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
194 'very long text '->repeat(12), |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
195 'three', |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
196 ]) |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
197 exe "normal 2Gzt\<C-E>" |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
198 END |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
199 call writefile(lines, 'XSmoothList', 'D') |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
200 let buf = RunVimInTerminal('-S XSmoothList', #{rows: 8, cols: 40}) |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
201 |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
202 call VerifyScreenDump(buf, 'Test_smooth_list_1', {}) |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
203 |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
204 call term_sendkeys(buf, ":set listchars+=precedes:#\<CR>") |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
205 call VerifyScreenDump(buf, 'Test_smooth_list_2', {}) |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
206 |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
207 call StopVimInTerminal(buf) |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
208 endfunc |
2c03ff81cbcb
patch 9.0.0758: "precedes" from 'listchars' overwritten by <<<
Bram Moolenaar <Bram@vim.org>
parents:
30845
diff
changeset
|
209 |
30673
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
210 func Test_smoothscroll_diff_mode() |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
211 CheckScreendump |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
212 |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
213 let lines =<< trim END |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
214 vim9script |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
215 var text = 'just some text here' |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
216 setline(1, text) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
217 set smoothscroll |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
218 diffthis |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
219 new |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
220 setline(1, text) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
221 set smoothscroll |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
222 diffthis |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
223 END |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
224 call writefile(lines, 'XSmoothDiff', 'D') |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
225 let buf = RunVimInTerminal('-S XSmoothDiff', #{rows: 8}) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
226 |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
227 call VerifyScreenDump(buf, 'Test_smooth_diff_1', {}) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
228 call term_sendkeys(buf, "\<C-Y>") |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
229 call VerifyScreenDump(buf, 'Test_smooth_diff_1', {}) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
230 call term_sendkeys(buf, "\<C-E>") |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
231 call VerifyScreenDump(buf, 'Test_smooth_diff_1', {}) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
232 |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
233 call StopVimInTerminal(buf) |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
234 endfunc |
53b826c4649f
patch 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
Bram Moolenaar <Bram@vim.org>
parents:
30635
diff
changeset
|
235 |
30675
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
236 func Test_smoothscroll_wrap_scrolloff_zero() |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
237 CheckScreendump |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
238 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
239 let lines =<< trim END |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
240 vim9script |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
241 setline(1, ['Line' .. (' with some text'->repeat(7))]->repeat(7)) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
242 set smoothscroll scrolloff=0 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
243 :3 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
244 END |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
245 call writefile(lines, 'XSmoothWrap', 'D') |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
246 let buf = RunVimInTerminal('-S XSmoothWrap', #{rows: 8, cols: 40}) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
247 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
248 call VerifyScreenDump(buf, 'Test_smooth_wrap_1', {}) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
249 |
30677
a345ad853b08
patch 9.0.0673: first line wong with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30675
diff
changeset
|
250 " moving cursor down - whole bottom line shows |
30675
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
251 call term_sendkeys(buf, "j") |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
252 call VerifyScreenDump(buf, 'Test_smooth_wrap_2', {}) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
253 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
254 call term_sendkeys(buf, "\<C-E>j") |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
255 call VerifyScreenDump(buf, 'Test_smooth_wrap_3', {}) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
256 |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
257 call term_sendkeys(buf, "G") |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
258 call VerifyScreenDump(buf, 'Test_smooth_wrap_4', {}) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
259 |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
260 " moving cursor up right after the >>> marker - no need to show whole line |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
261 call term_sendkeys(buf, "2gj3l2k") |
30677
a345ad853b08
patch 9.0.0673: first line wong with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30675
diff
changeset
|
262 call VerifyScreenDump(buf, 'Test_smooth_wrap_5', {}) |
a345ad853b08
patch 9.0.0673: first line wong with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30675
diff
changeset
|
263 |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
264 " moving cursor up where the >>> marker is - whole top line shows |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
265 call term_sendkeys(buf, "2j02k") |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
266 call VerifyScreenDump(buf, 'Test_smooth_wrap_6', {}) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
267 |
30675
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
268 call StopVimInTerminal(buf) |
bc48f3752d8d
patch 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
Bram Moolenaar <Bram@vim.org>
parents:
30673
diff
changeset
|
269 endfunc |
30610
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
270 |
30733
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
271 func Test_smoothscroll_wrap_long_line() |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
272 CheckScreendump |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
273 |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
274 let lines =<< trim END |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
275 vim9script |
31148
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
276 setline(1, ['one', 'two', 'Line' .. (' with lots of text'->repeat(30)) .. ' end', 'four']) |
30733
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
277 set smoothscroll scrolloff=0 |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
278 normal 3G10|zt |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
279 END |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
280 call writefile(lines, 'XSmoothWrap', 'D') |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
281 let buf = RunVimInTerminal('-S XSmoothWrap', #{rows: 6, cols: 40}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
282 call VerifyScreenDump(buf, 'Test_smooth_long_1', {}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
283 |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
284 " scrolling up, cursor moves screen line down |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
285 call term_sendkeys(buf, "\<C-E>") |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
286 call VerifyScreenDump(buf, 'Test_smooth_long_2', {}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
287 call term_sendkeys(buf, "5\<C-E>") |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
288 call VerifyScreenDump(buf, 'Test_smooth_long_3', {}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
289 |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
290 " scrolling down, cursor moves screen line up |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
291 call term_sendkeys(buf, "5\<C-Y>") |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
292 call VerifyScreenDump(buf, 'Test_smooth_long_4', {}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
293 call term_sendkeys(buf, "\<C-Y>") |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
294 call VerifyScreenDump(buf, 'Test_smooth_long_5', {}) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
295 |
30745
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
296 " 'scrolloff' set to 1, scrolling up, cursor moves screen line down |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
297 call term_sendkeys(buf, ":set scrolloff=1\<CR>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
298 call term_sendkeys(buf, "10|\<C-E>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
299 call VerifyScreenDump(buf, 'Test_smooth_long_6', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
300 |
30745
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
301 " 'scrolloff' set to 1, scrolling down, cursor moves screen line up |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
302 call term_sendkeys(buf, "\<C-E>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
303 call term_sendkeys(buf, "gjgj") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
304 call term_sendkeys(buf, "\<C-Y>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
305 call VerifyScreenDump(buf, 'Test_smooth_long_7', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
306 |
30745
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
307 " 'scrolloff' set to 2, scrolling up, cursor moves screen line down |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
308 call term_sendkeys(buf, ":set scrolloff=2\<CR>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
309 call term_sendkeys(buf, "10|\<C-E>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
310 call VerifyScreenDump(buf, 'Test_smooth_long_8', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
311 |
30745
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
312 " 'scrolloff' set to 2, scrolling down, cursor moves screen line up |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
313 call term_sendkeys(buf, "\<C-E>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
314 call term_sendkeys(buf, "gj") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
315 call term_sendkeys(buf, "\<C-Y>") |
fdc44acc3250
patch 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30733
diff
changeset
|
316 call VerifyScreenDump(buf, 'Test_smooth_long_9', {}) |
31148
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
317 |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
318 " 'scrolloff' set to 0, move cursor down one line. |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
319 " Cursor should move properly, and since this is a really long line, it will |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
320 " be put on top of the screen. |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
321 call term_sendkeys(buf, ":set scrolloff=0\<CR>") |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
322 call term_sendkeys(buf, "0j") |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
323 call VerifyScreenDump(buf, 'Test_smooth_long_10', {}) |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
324 |
31577
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
325 " Test zt/zz/zb that they work properly when a long line is above it |
32403
1b0ade08ec91
patch 9.0.1533: test for 'smoothscroll' is ineffective
Bram Moolenaar <Bram@vim.org>
parents:
32387
diff
changeset
|
326 call term_sendkeys(buf, "zt") |
31577
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
327 call VerifyScreenDump(buf, 'Test_smooth_long_11', {}) |
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
328 call term_sendkeys(buf, "zz") |
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
329 call VerifyScreenDump(buf, 'Test_smooth_long_12', {}) |
32403
1b0ade08ec91
patch 9.0.1533: test for 'smoothscroll' is ineffective
Bram Moolenaar <Bram@vim.org>
parents:
32387
diff
changeset
|
330 call term_sendkeys(buf, "zb") |
31577
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
331 call VerifyScreenDump(buf, 'Test_smooth_long_13', {}) |
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
332 |
31148
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
333 " Repeat the step and move the cursor down again. |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
334 " This time, use a shorter long line that is barely long enough to span more |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
335 " than one window. Note that the cursor is at the bottom this time because |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
336 " Vim prefers to do so if we are scrolling a few lines only. |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
337 call term_sendkeys(buf, ":call setline(1, ['one', 'two', 'Line' .. (' with lots of text'->repeat(10)) .. ' end', 'four'])\<CR>") |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
338 call term_sendkeys(buf, "3Gzt") |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
339 call term_sendkeys(buf, "j") |
31577
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
340 call VerifyScreenDump(buf, 'Test_smooth_long_14', {}) |
31148
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
341 |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
342 " Repeat the step but this time start it when the line is smooth-scrolled by |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
343 " one line. This tests that the offset calculation is still correct and |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
344 " still end up scrolling down to the next line with cursor at bottom of |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
345 " screen. |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
346 call term_sendkeys(buf, "3Gzt") |
69cea3380d9a
patch 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
Bram Moolenaar <Bram@vim.org>
parents:
31131
diff
changeset
|
347 call term_sendkeys(buf, "\<C-E>j") |
31577
3c21865e8068
patch 9.0.1121: cursor positioning and display problems with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31333
diff
changeset
|
348 call VerifyScreenDump(buf, 'Test_smooth_long_15', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
349 |
30733
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
350 call StopVimInTerminal(buf) |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
351 endfunc |
5bea8e583d28
patch 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
Bram Moolenaar <Bram@vim.org>
parents:
30677
diff
changeset
|
352 |
30799
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
353 func Test_smoothscroll_one_long_line() |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
354 CheckScreendump |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
355 |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
356 let lines =<< trim END |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
357 vim9script |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
358 setline(1, 'with lots of text '->repeat(7)) |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
359 set smoothscroll scrolloff=0 |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
360 END |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
361 call writefile(lines, 'XSmoothOneLong', 'D') |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
362 let buf = RunVimInTerminal('-S XSmoothOneLong', #{rows: 6, cols: 40}) |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
363 call VerifyScreenDump(buf, 'Test_smooth_one_long_1', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
364 |
30799
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
365 call term_sendkeys(buf, "\<C-E>") |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
366 call VerifyScreenDump(buf, 'Test_smooth_one_long_2', {}) |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
367 |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
368 call term_sendkeys(buf, "0") |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
369 call VerifyScreenDump(buf, 'Test_smooth_one_long_1', {}) |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
370 |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
371 call StopVimInTerminal(buf) |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
372 endfunc |
ffa5492137c3
patch 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
30745
diff
changeset
|
373 |
31127
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
374 func Test_smoothscroll_long_line_showbreak() |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
375 CheckScreendump |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
376 |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
377 let lines =<< trim END |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
378 vim9script |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
379 # a line that spans four screen lines |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
380 setline(1, 'with lots of text in one line '->repeat(6)) |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
381 set smoothscroll scrolloff=0 showbreak=+++\ |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
382 END |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
383 call writefile(lines, 'XSmoothLongShowbreak', 'D') |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
384 let buf = RunVimInTerminal('-S XSmoothLongShowbreak', #{rows: 6, cols: 40}) |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
385 call VerifyScreenDump(buf, 'Test_smooth_long_showbreak_1', {}) |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
386 |
31127
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
387 call term_sendkeys(buf, "\<C-E>") |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
388 call VerifyScreenDump(buf, 'Test_smooth_long_showbreak_2', {}) |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
389 |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
390 call term_sendkeys(buf, "0") |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
391 call VerifyScreenDump(buf, 'Test_smooth_long_showbreak_1', {}) |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
392 |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
393 call StopVimInTerminal(buf) |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
394 endfunc |
92b929203a4f
patch 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
Bram Moolenaar <Bram@vim.org>
parents:
31117
diff
changeset
|
395 |
31329
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
396 func s:check_col_calc(win_col, win_line, buf_col) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
397 call assert_equal(a:win_col, wincol()) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
398 call assert_equal(a:win_line, winline()) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
399 call assert_equal(a:buf_col, col('.')) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
400 endfunc |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
401 |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
402 " Test that if the current cursor is on a smooth scrolled line, we correctly |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
403 " reposition it. Also check that we don't miscalculate the values by checking |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
404 " the consistency between wincol() and col('.') as they are calculated |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
405 " separately in code. |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
406 func Test_smoothscroll_cursor_position() |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
407 call NewWindow(10, 20) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
408 setl smoothscroll wrap |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
409 call setline(1, "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
410 |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
411 call s:check_col_calc(1, 1, 1) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
412 exe "normal \<C-E>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
413 |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
414 " Move down another line to avoid blocking the <<< display |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
415 call s:check_col_calc(1, 2, 41) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
416 exe "normal \<C-Y>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
417 call s:check_col_calc(1, 3, 41) |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
418 |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
419 normal gg3l |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
420 exe "normal \<C-E>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
421 |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
422 " Move down only 1 line when we are out of the range of the <<< display |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
423 call s:check_col_calc(4, 1, 24) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
424 exe "normal \<C-Y>" |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
425 call s:check_col_calc(4, 2, 24) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
426 normal ggg$ |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
427 exe "normal \<C-E>" |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
428 call s:check_col_calc(20, 1, 40) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
429 exe "normal \<C-Y>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
430 call s:check_col_calc(20, 2, 40) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
431 normal gg |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
432 |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
433 " Test number, where we have indented lines |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
434 setl number |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
435 call s:check_col_calc(5, 1, 1) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
436 exe "normal \<C-E>" |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
437 |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
438 " Move down only 1 line when the <<< display is on the number column |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
439 call s:check_col_calc(5, 1, 17) |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
440 exe "normal \<C-Y>" |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
441 call s:check_col_calc(5, 2, 17) |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
442 normal ggg$ |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
443 exe "normal \<C-E>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
444 call s:check_col_calc(20, 1, 32) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
445 exe "normal \<C-Y>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
446 call s:check_col_calc(20, 2, 32) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
447 normal gg |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
448 |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
449 setl numberwidth=1 |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
450 |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
451 " Move down another line when numberwidth is too short to cover the whole |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
452 " <<< display |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
453 call s:check_col_calc(3, 1, 1) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
454 exe "normal \<C-E>" |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
455 call s:check_col_calc(3, 2, 37) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
456 exe "normal \<C-Y>" |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
457 call s:check_col_calc(3, 3, 37) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
458 normal ggl |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
459 |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
460 " Only move 1 line down when we are just past the <<< display |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
461 call s:check_col_calc(4, 1, 2) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
462 exe "normal \<C-E>" |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
463 call s:check_col_calc(4, 1, 20) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
464 exe "normal \<C-Y>" |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
465 call s:check_col_calc(4, 2, 20) |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
466 normal gg |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
467 setl numberwidth& |
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
468 |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
469 " Test number + showbreak, so test that the additional indentation works |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
470 setl number showbreak=+++ |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
471 call s:check_col_calc(5, 1, 1) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
472 exe "normal \<C-E>" |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
473 call s:check_col_calc(8, 1, 17) |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
474 exe "normal \<C-Y>" |
31131
8de082110e2d
patch 9.0.0900: cursor moves too far with 'smoothscroll'
Bram Moolenaar <Bram@vim.org>
parents:
31127
diff
changeset
|
475 call s:check_col_calc(8, 2, 17) |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
476 normal gg |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
477 |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
478 " Test number + cpo+=n mode, where wrapped lines aren't indented |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
479 setl number cpo+=n showbreak= |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
480 call s:check_col_calc(5, 1, 1) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
481 exe "normal \<C-E>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
482 call s:check_col_calc(1, 2, 37) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
483 exe "normal \<C-Y>" |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
484 call s:check_col_calc(1, 3, 37) |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
485 normal gg |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
486 |
31329
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
487 bwipe! |
31117
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
488 endfunc |
a5bf86083558
patch 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
Bram Moolenaar <Bram@vim.org>
parents:
30847
diff
changeset
|
489 |
31329
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
490 func Test_smoothscroll_cursor_scrolloff() |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
491 call NewWindow(10, 20) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
492 setl smoothscroll wrap |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
493 setl scrolloff=3 |
31849
dbec60b8c253
patch 9.0.1257: code style is not check in test scripts
Bram Moolenaar <Bram@vim.org>
parents:
31829
diff
changeset
|
494 |
31329
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
495 " 120 chars are 6 screen lines |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
496 call setline(1, "abcdefghijklmnopqrstABCDEFGHIJKLMNOPQRSTabcdefghijklmnopqrstABCDEFGHIJKLMNOPQRSTabcdefghijklmnopqrstABCDEFGHIJKLMNOPQRST") |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
497 call setline(2, "below") |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
498 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
499 call s:check_col_calc(1, 1, 1) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
500 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
501 " CTRL-E shows "<<<DEFG...", cursor move four lines down |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
502 exe "normal \<C-E>" |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
503 call s:check_col_calc(1, 4, 81) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
504 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
505 " cursor on start of second line, "gk" moves into first line, skipcol doesn't |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
506 " change |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
507 exe "normal G0gk" |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
508 call s:check_col_calc(1, 5, 101) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
509 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
510 " move cursor left one window width worth, scrolls one screen line |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
511 exe "normal 20h" |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
512 call s:check_col_calc(1, 5, 81) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
513 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
514 " move cursor left one window width worth, scrolls one screen line |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
515 exe "normal 20h" |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
516 call s:check_col_calc(1, 4, 61) |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
517 |
31333
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
518 " cursor on last line, "gk" should not cause a scroll |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
519 set scrolloff=0 |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
520 normal G0 |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
521 call s:check_col_calc(1, 7, 1) |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
522 normal gk |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
523 call s:check_col_calc(1, 6, 101) |
bfbcc148da58
patch 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
Bram Moolenaar <Bram@vim.org>
parents:
31329
diff
changeset
|
524 |
31329
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
525 bwipe! |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
526 endfunc |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
527 |
5c83140aafc9
patch 9.0.0998: "gk" may reset skipcol when not needed
Bram Moolenaar <Bram@vim.org>
parents:
31154
diff
changeset
|
528 |
31154
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
529 " Test that mouse picking is still accurate when we have smooth scrolled lines |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
530 func Test_smoothscroll_mouse_pos() |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
531 CheckNotGui |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
532 CheckUnix |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
533 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
534 let save_mouse = &mouse |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
535 let save_term = &term |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
536 let save_ttymouse = &ttymouse |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
537 set mouse=a term=xterm ttymouse=xterm2 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
538 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
539 call NewWindow(10, 20) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
540 setl smoothscroll wrap |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
541 " First line will wrap to 3 physical lines. 2nd/3rd lines are short lines. |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
542 call setline(1, ["abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", "line 2", "line 3"]) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
543 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
544 func s:check_mouse_click(row, col, buf_row, buf_col) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
545 call MouseLeftClick(a:row, a:col) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
546 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
547 call assert_equal(a:col, wincol()) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
548 call assert_equal(a:row, winline()) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
549 call assert_equal(a:buf_row, line('.')) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
550 call assert_equal(a:buf_col, col('.')) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
551 endfunc |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
552 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
553 " Check that clicking without scroll works first. |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
554 call s:check_mouse_click(3, 5, 1, 45) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
555 call s:check_mouse_click(4, 1, 2, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
556 call s:check_mouse_click(4, 6, 2, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
557 call s:check_mouse_click(5, 1, 3, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
558 call s:check_mouse_click(5, 6, 3, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
559 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
560 " Smooth scroll, and checks that this didn't mess up mouse clicking |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
561 exe "normal \<C-E>" |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
562 call s:check_mouse_click(2, 5, 1, 45) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
563 call s:check_mouse_click(3, 1, 2, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
564 call s:check_mouse_click(3, 6, 2, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
565 call s:check_mouse_click(4, 1, 3, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
566 call s:check_mouse_click(4, 6, 3, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
567 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
568 exe "normal \<C-E>" |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
569 call s:check_mouse_click(1, 5, 1, 45) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
570 call s:check_mouse_click(2, 1, 2, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
571 call s:check_mouse_click(2, 6, 2, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
572 call s:check_mouse_click(3, 1, 3, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
573 call s:check_mouse_click(3, 6, 3, 6) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
574 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
575 " Make a new first line 11 physical lines tall so it's taller than window |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
576 " height, to test overflow calculations with really long lines wrapping. |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
577 normal gg |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
578 call setline(1, "12345678901234567890"->repeat(11)) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
579 exe "normal 6\<C-E>" |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
580 call s:check_mouse_click(5, 1, 1, 201) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
581 call s:check_mouse_click(6, 1, 2, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
582 call s:check_mouse_click(7, 1, 3, 1) |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
583 |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
584 let &mouse = save_mouse |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
585 let &term = save_term |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
586 let &ttymouse = save_ttymouse |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
587 endfunc |
7e48ddb8b079
patch 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
Bram Moolenaar <Bram@vim.org>
parents:
31148
diff
changeset
|
588 |
31829
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
589 " this was dividing by zero |
32361
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
590 func Test_smoothscroll_zero_width() |
31829
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
591 CheckScreendump |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
592 |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
593 let lines =<< trim END |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
594 winsize 0 0 |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
595 vsplit |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
596 vsplit |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
597 vsplit |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
598 vsplit |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
599 vsplit |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
600 sil norm H |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
601 set wrap |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
602 set smoothscroll |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
603 set number |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
604 END |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
605 call writefile(lines, 'XSmoothScrollZero', 'D') |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
606 let buf = RunVimInTerminal('-u NONE -i NONE -n -m -X -Z -e -s -S XSmoothScrollZero', #{rows: 6, cols: 60, wait_for_ruler: 0}) |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
607 call VerifyScreenDump(buf, 'Test_smoothscroll_zero_1', {}) |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
608 |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
609 call term_sendkeys(buf, ":sil norm \<C-V>\<C-W>\<C-V>\<C-N>\<CR>") |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
610 call VerifyScreenDump(buf, 'Test_smoothscroll_zero_2', {}) |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
611 |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
612 call StopVimInTerminal(buf) |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
613 endfunc |
2a590b4a3fba
patch 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
Bram Moolenaar <Bram@vim.org>
parents:
31577
diff
changeset
|
614 |
32361
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
615 " this was unnecessarily inserting lines |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
616 func Test_smoothscroll_ins_lines() |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
617 CheckScreendump |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
618 |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
619 let lines =<< trim END |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
620 set wrap |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
621 set smoothscroll |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
622 set scrolloff=0 |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
623 set conceallevel=2 |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
624 call setline(1, [ |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
625 \'line one' .. 'with lots of text in one line '->repeat(2), |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
626 \'line two', |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
627 \'line three', |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
628 \'line four', |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
629 \'line five' |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
630 \]) |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
631 END |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
632 call writefile(lines, 'XSmoothScrollInsLines', 'D') |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
633 let buf = RunVimInTerminal('-S XSmoothScrollInsLines', #{rows: 6, cols: 40}) |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
634 |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
635 call term_sendkeys(buf, "\<C-E>gjgk") |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
636 call VerifyScreenDump(buf, 'Test_smooth_ins_lines', {}) |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
637 |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
638 call StopVimInTerminal(buf) |
9ac987a467d5
patch 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
Bram Moolenaar <Bram@vim.org>
parents:
32349
diff
changeset
|
639 endfunc |
30610
6c6ac189a05f
patch 9.0.0640: cannot scroll by screen line if a line wraps
Bram Moolenaar <Bram@vim.org>
parents:
21765
diff
changeset
|
640 |
32387
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
641 " this placed the cursor in the command line |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
642 func Test_smoothscroll_cursormoved_line() |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
643 CheckScreendump |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
644 |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
645 let lines =<< trim END |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
646 set smoothscroll |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
647 call setline(1, [ |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
648 \'', |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
649 \'_'->repeat(&lines * &columns), |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
650 \(('_')->repeat(&columns - 2) .. 'xxx')->repeat(2) |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
651 \]) |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
652 autocmd CursorMoved * eval [line('w0'), line('w$')] |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
653 call search('xxx') |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
654 END |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
655 call writefile(lines, 'XSmoothCursorMovedLine', 'D') |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
656 let buf = RunVimInTerminal('-S XSmoothCursorMovedLine', #{rows: 6}) |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
657 |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
658 call VerifyScreenDump(buf, 'Test_smooth_cursormoved_line', {}) |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
659 |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
660 call StopVimInTerminal(buf) |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
661 endfunc |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
662 |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
663 func Test_smoothscroll_eob() |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
664 CheckScreendump |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
665 |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
666 let lines =<< trim END |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
667 set smoothscroll |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
668 call setline(1, ['']->repeat(100)) |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
669 norm G |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
670 END |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
671 call writefile(lines, 'XSmoothEob', 'D') |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
672 let buf = RunVimInTerminal('-S XSmoothEob', #{rows: 10}) |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
673 |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
674 " does not scroll halfway when scrolling to end of buffer |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
675 call VerifyScreenDump(buf, 'Test_smooth_eob_1', {}) |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
676 |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
677 " cursor is not placed below window |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
678 call term_sendkeys(buf, ":call setline(92, 'a'->repeat(100))\<CR>\<C-B>G") |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
679 call VerifyScreenDump(buf, 'Test_smooth_eob_2', {}) |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
680 |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
681 call StopVimInTerminal(buf) |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
682 endfunc |
1ddef52ea786
patch 9.0.1525: 'smoothscroll' does not always work properly
Bram Moolenaar <Bram@vim.org>
parents:
32365
diff
changeset
|
683 |
21765
08940efa6b4e
patch 8.2.1432: various inconsistencies in test files
Bram Moolenaar <Bram@vim.org>
parents:
12718
diff
changeset
|
684 " vim: shiftwidth=2 sts=2 expandtab |