annotate src/testdir/test_conceal.vim @ 34546:33cb93a8d573 v9.1.0174

patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap Commit: https://github.com/vim/vim/commit/21b0a3df8c4abb884489dfcc0c92b1bbe058f291 Author: zeertzjq <zeertzjq@outlook.com> Date: Wed Mar 13 20:06:34 2024 +0100 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap Problem: 'cursorline' and 'wincolor' highlight missing with concealed and wrapped lines. Solution: Apply 'cursorline' and 'wincolor' highlight to boguscols. (zeertzjq) Since 'cursorline' and 'wincolor' highlight apply after the end of the line, it is more consistent to have them also apply to boguscols. Assigning MAXCOL to values in ScreenCols[] make mouse click behave the same with 'cursorline' and 'nocursorline', but such behavior may be incorrect, as it puts the cursor on the next screen line. That may be fixed in a future PR. closes: #14192 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Wed, 13 Mar 2024 20:15:03 +0100
parents 7a1a9ce831c3
children 4d8d41b7a8eb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15426
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 " Tests for 'conceal'.
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2
17657
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 16965
diff changeset
3 source check.vim
0da9bc55c31a patch 8.1.1826: tests use hand coded feature and option checks
Bram Moolenaar <Bram@vim.org>
parents: 16965
diff changeset
4 CheckFeature conceal
15426
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
5
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
6 source screendump.vim
29413
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
7 source view_util.vim
15426
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
8
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
9 func Test_conceal_two_windows()
27324
d02a319c47ec patch 8.2.4190: all conceal tests are skipped without the screendumps feature
Bram Moolenaar <Bram@vim.org>
parents: 25818
diff changeset
10 CheckScreendump
d02a319c47ec patch 8.2.4190: all conceal tests are skipped without the screendumps feature
Bram Moolenaar <Bram@vim.org>
parents: 25818
diff changeset
11
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
12 let code =<< trim [CODE]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
13 let lines = ["one one one one one", "two |hidden| here", "three |hidden| three"]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
14 call setline(1, lines)
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
15 syntax match test /|hidden|/ conceal
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
16 set conceallevel=2
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
17 set concealcursor=
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
18 exe "normal /here\r"
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
19 new
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
20 call setline(1, lines)
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
21 call setline(4, "Second window")
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
22 syntax match test /|hidden|/ conceal
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
23 set conceallevel=2
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
24 set concealcursor=nc
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
25 exe "normal /here\r"
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
26 [CODE]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
27
30164
f7a2de8a4ddc patch 9.0.0418: manually deleting temp test files
Bram Moolenaar <Bram@vim.org>
parents: 29413
diff changeset
28 call writefile(code, 'XTest_conceal', 'D')
15426
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
29 " Check that cursor line is concealed
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
30 let buf = RunVimInTerminal('-S XTest_conceal', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
31 call VerifyScreenDump(buf, 'Test_conceal_two_windows_01', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
32
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
33 " Check that with concealed text vertical cursor movement is correct.
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
34 call term_sendkeys(buf, "k")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
35 call VerifyScreenDump(buf, 'Test_conceal_two_windows_02', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
36
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
37 " Check that with cursor line is not concealed
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
38 call term_sendkeys(buf, "j")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
39 call term_sendkeys(buf, ":set concealcursor=\r")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
40 call VerifyScreenDump(buf, 'Test_conceal_two_windows_03', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
41
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
42 " Check that with cursor line is not concealed when moving cursor down
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
43 call term_sendkeys(buf, "j")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
44 call VerifyScreenDump(buf, 'Test_conceal_two_windows_04', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
45
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
46 " Check that with cursor line is not concealed when switching windows
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
47 call term_sendkeys(buf, "\<C-W>\<C-W>")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
48 call VerifyScreenDump(buf, 'Test_conceal_two_windows_05', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
49
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
50 " Check that with cursor line is only concealed in Normal mode
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
51 call term_sendkeys(buf, ":set concealcursor=n\r")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
52 call VerifyScreenDump(buf, 'Test_conceal_two_windows_06n', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
53 call term_sendkeys(buf, "a")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
54 call VerifyScreenDump(buf, 'Test_conceal_two_windows_06i', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
55 call term_sendkeys(buf, "\<Esc>/e")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
56 call VerifyScreenDump(buf, 'Test_conceal_two_windows_06c', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
57 call term_sendkeys(buf, "\<Esc>v")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
58 call VerifyScreenDump(buf, 'Test_conceal_two_windows_06v', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
59 call term_sendkeys(buf, "\<Esc>")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
60
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
61 " Check that with cursor line is only concealed in Insert mode
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
62 call term_sendkeys(buf, ":set concealcursor=i\r")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
63 call VerifyScreenDump(buf, 'Test_conceal_two_windows_07n', {})
25818
37bc83bbda91 patch 8.2.3444: concealed text not revealed when leaving insert mode
Bram Moolenaar <Bram@vim.org>
parents: 21014
diff changeset
64 call term_sendkeys(buf, "14|a")
15426
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
65 call VerifyScreenDump(buf, 'Test_conceal_two_windows_07i', {})
25818
37bc83bbda91 patch 8.2.3444: concealed text not revealed when leaving insert mode
Bram Moolenaar <Bram@vim.org>
parents: 21014
diff changeset
66 call term_sendkeys(buf, "\<Esc>")
37bc83bbda91 patch 8.2.3444: concealed text not revealed when leaving insert mode
Bram Moolenaar <Bram@vim.org>
parents: 21014
diff changeset
67 call VerifyScreenDump(buf, 'Test_conceal_two_windows_07in', {})
37bc83bbda91 patch 8.2.3444: concealed text not revealed when leaving insert mode
Bram Moolenaar <Bram@vim.org>
parents: 21014
diff changeset
68 call term_sendkeys(buf, "/e")
15426
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
69 call VerifyScreenDump(buf, 'Test_conceal_two_windows_07c', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
70 call term_sendkeys(buf, "\<Esc>v")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
71 call VerifyScreenDump(buf, 'Test_conceal_two_windows_07v', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
72 call term_sendkeys(buf, "\<Esc>")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
73
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
74 " Check that with cursor line is only concealed in Command mode
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
75 call term_sendkeys(buf, ":set concealcursor=c\r")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
76 call VerifyScreenDump(buf, 'Test_conceal_two_windows_08n', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
77 call term_sendkeys(buf, "a")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
78 call VerifyScreenDump(buf, 'Test_conceal_two_windows_08i', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
79 call term_sendkeys(buf, "\<Esc>/e")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
80 call VerifyScreenDump(buf, 'Test_conceal_two_windows_08c', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
81 call term_sendkeys(buf, "\<Esc>v")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
82 call VerifyScreenDump(buf, 'Test_conceal_two_windows_08v', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
83 call term_sendkeys(buf, "\<Esc>")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
84
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
85 " Check that with cursor line is only concealed in Visual mode
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
86 call term_sendkeys(buf, ":set concealcursor=v\r")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
87 call VerifyScreenDump(buf, 'Test_conceal_two_windows_09n', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
88 call term_sendkeys(buf, "a")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
89 call VerifyScreenDump(buf, 'Test_conceal_two_windows_09i', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
90 call term_sendkeys(buf, "\<Esc>/e")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
91 call VerifyScreenDump(buf, 'Test_conceal_two_windows_09c', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
92 call term_sendkeys(buf, "\<Esc>v")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
93 call VerifyScreenDump(buf, 'Test_conceal_two_windows_09v', {})
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
94 call term_sendkeys(buf, "\<Esc>")
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
95
15434
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
96 " Check moving the cursor while in insert mode.
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
97 call term_sendkeys(buf, ":set concealcursor=\r")
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
98 call term_sendkeys(buf, "a")
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
99 call VerifyScreenDump(buf, 'Test_conceal_two_windows_10', {})
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
100 call term_sendkeys(buf, "\<Down>")
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
101 call VerifyScreenDump(buf, 'Test_conceal_two_windows_11', {})
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
102 call term_sendkeys(buf, "\<Esc>")
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
103
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
104 " Check the "o" command
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
105 call VerifyScreenDump(buf, 'Test_conceal_two_windows_12', {})
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
106 call term_sendkeys(buf, "o")
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
107 call VerifyScreenDump(buf, 'Test_conceal_two_windows_13', {})
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
108 call term_sendkeys(buf, "\<Esc>")
80e79573dd6e patch 8.1.0725: conceal mode is not completely tested
Bram Moolenaar <Bram@vim.org>
parents: 15426
diff changeset
109
15426
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
110 " clean up
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
111 call StopVimInTerminal(buf)
8b78878311e0 patch 8.1.0721: conceal mode is not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
112 endfunc
15476
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
113
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
114 func Test_conceal_with_cursorline()
27324
d02a319c47ec patch 8.2.4190: all conceal tests are skipped without the screendumps feature
Bram Moolenaar <Bram@vim.org>
parents: 25818
diff changeset
115 CheckScreendump
d02a319c47ec patch 8.2.4190: all conceal tests are skipped without the screendumps feature
Bram Moolenaar <Bram@vim.org>
parents: 25818
diff changeset
116
15476
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
117 " Opens a help window, where 'conceal' is set, switches to the other window
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
118 " where 'cursorline' needs to be updated when the cursor moves.
16720
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
119 let code =<< trim [CODE]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
120 set cursorline
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
121 normal othis is a test
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
122 new
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
123 call setline(1, ["one", "two", "three", "four", "five"])
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
124 set ft=help
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
125 normal M
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
126 [CODE]
9c90cf08cfa8 patch 8.1.1362: code and data in tests can be hard to read
Bram Moolenaar <Bram@vim.org>
parents: 15476
diff changeset
127
30164
f7a2de8a4ddc patch 9.0.0418: manually deleting temp test files
Bram Moolenaar <Bram@vim.org>
parents: 29413
diff changeset
128 call writefile(code, 'XTest_conceal_cul', 'D')
15476
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
129 let buf = RunVimInTerminal('-S XTest_conceal_cul', {})
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
130 call VerifyScreenDump(buf, 'Test_conceal_cul_01', {})
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
131
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
132 call term_sendkeys(buf, ":wincmd w\r")
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
133 call VerifyScreenDump(buf, 'Test_conceal_cul_02', {})
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
134
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
135 call term_sendkeys(buf, "k")
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
136 call VerifyScreenDump(buf, 'Test_conceal_cul_03', {})
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
137
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
138 " clean up
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
139 call StopVimInTerminal(buf)
5b0f37d844b3 patch 8.1.0746: highlighting not updated with conceal and 'cursorline'
Bram Moolenaar <Bram@vim.org>
parents: 15434
diff changeset
140 endfunc
18072
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
141
31618
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
142 func Test_conceal_with_cursorcolumn()
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
143 CheckScreendump
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
144
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
145 " Check that cursorcolumn and colorcolumn don't get broken in presence of
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
146 " wrapped lines containing concealed text
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
147 let code =<< trim [CODE]
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
148 let lines = ["one one one |hidden| one one one one one one one one",
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
149 \ "two two two two |hidden| here two two",
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
150 \ "three |hidden| three three three three three three three three"]
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
151 call setline(1, lines)
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
152 set wrap linebreak
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
153 set showbreak=\ >>>\
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
154 syntax match test /|hidden|/ conceal
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
155 set conceallevel=2
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
156 set concealcursor=
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
157 exe "normal /here\r"
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
158 set cursorcolumn
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
159 set colorcolumn=50
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
160 [CODE]
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
161
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
162 call writefile(code, 'XTest_conceal_cuc', 'D')
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
163 let buf = RunVimInTerminal('-S XTest_conceal_cuc', {'rows': 10, 'cols': 40})
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
164 call VerifyScreenDump(buf, 'Test_conceal_cuc_01', {})
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
165
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
166 " move cursor to the end of line (the cursor jumps to the next screen line)
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
167 call term_sendkeys(buf, "$")
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
168 call VerifyScreenDump(buf, 'Test_conceal_cuc_02', {})
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
169
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
170 " clean up
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
171 call StopVimInTerminal(buf)
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
172 endfunc
68fed60575ca patch 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
Bram Moolenaar <Bram@vim.org>
parents: 30655
diff changeset
173
34546
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
174 " Check that 'cursorline' and 'wincolor' apply to the whole line in presence
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
175 " of wrapped lines containing concealed text.
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
176 func Test_conceal_wrapped_cursorline_wincolor()
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
177 CheckScreendump
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
178
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
179 let code =<< trim [CODE]
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
180 call setline(1, 'one one one |hidden| one one one one one one one one')
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
181 syntax match test /|hidden|/ conceal
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
182 set conceallevel=2 concealcursor=n cursorline
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
183 normal! g$
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
184 [CODE]
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
185
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
186 call writefile(code, 'XTest_conceal_cul_wcr', 'D')
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
187 let buf = RunVimInTerminal('-S XTest_conceal_cul_wcr', {'rows': 4, 'cols': 40})
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
188 call VerifyScreenDump(buf, 'Test_conceal_cul_wcr_01', {})
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
189
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
190 call term_sendkeys(buf, ":set wincolor=ErrorMsg\n")
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
191 call VerifyScreenDump(buf, 'Test_conceal_cul_wcr_02', {})
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
192
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
193 call term_sendkeys(buf, ":set nocursorline\n")
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
194 call VerifyScreenDump(buf, 'Test_conceal_cul_wcr_03', {})
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
195
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
196 " clean up
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
197 call StopVimInTerminal(buf)
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
198 endfunc
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
199
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
200 " Same as Test_conceal_wrapped_cursorline_wincolor(), but with 'rightleft'.
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
201 func Test_conceal_wrapped_cursorline_wincolor_rightleft()
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
202 CheckScreendump
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
203
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
204 let code =<< trim [CODE]
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
205 call setline(1, 'one one one |hidden| one one one one one one one one')
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
206 syntax match test /|hidden|/ conceal
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
207 set conceallevel=2 concealcursor=n cursorline rightleft
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
208 normal! g$
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
209 [CODE]
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
210
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
211 call writefile(code, 'XTest_conceal_cul_wcr_rl', 'D')
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
212 let buf = RunVimInTerminal('-S XTest_conceal_cul_wcr_rl', {'rows': 4, 'cols': 40})
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
213 call VerifyScreenDump(buf, 'Test_conceal_cul_wcr_rl_01', {})
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
214
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
215 call term_sendkeys(buf, ":set wincolor=ErrorMsg\n")
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
216 call VerifyScreenDump(buf, 'Test_conceal_cul_wcr_rl_02', {})
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
217
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
218 call term_sendkeys(buf, ":set nocursorline\n")
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
219 call VerifyScreenDump(buf, 'Test_conceal_cul_wcr_rl_03', {})
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
220
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
221 " clean up
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
222 call StopVimInTerminal(buf)
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
223 endfunc
33cb93a8d573 patch 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
Christian Brabandt <cb@256bit.org>
parents: 32872
diff changeset
224
18072
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
225 func Test_conceal_resize_term()
27324
d02a319c47ec patch 8.2.4190: all conceal tests are skipped without the screendumps feature
Bram Moolenaar <Bram@vim.org>
parents: 25818
diff changeset
226 CheckScreendump
d02a319c47ec patch 8.2.4190: all conceal tests are skipped without the screendumps feature
Bram Moolenaar <Bram@vim.org>
parents: 25818
diff changeset
227
18072
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
228 let code =<< trim [CODE]
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
229 call setline(1, '`one` `two` `three` `four` `five`, the backticks should be concealed')
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
230 setl cocu=n cole=3
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
231 syn region CommentCodeSpan matchgroup=Comment start=/`/ end=/`/ concealends
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
232 normal fb
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
233 [CODE]
30164
f7a2de8a4ddc patch 9.0.0418: manually deleting temp test files
Bram Moolenaar <Bram@vim.org>
parents: 29413
diff changeset
234 call writefile(code, 'XTest_conceal_resize', 'D')
18072
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
235 let buf = RunVimInTerminal('-S XTest_conceal_resize', {'rows': 6})
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
236 call VerifyScreenDump(buf, 'Test_conceal_resize_01', {})
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
237
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
238 call win_execute(buf->win_findbuf()[0], 'wincmd +')
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
239 call VerifyScreenDump(buf, 'Test_conceal_resize_02', {})
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
240
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
241 " clean up
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
242 call StopVimInTerminal(buf)
5f1554b2587c patch 8.1.2031: cursor position wrong when resizing and using conceal
Bram Moolenaar <Bram@vim.org>
parents: 17657
diff changeset
243 endfunc
18870
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
244
30655
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
245 func Test_conceal_linebreak()
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
246 CheckScreendump
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
247
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
248 let code =<< trim [CODE]
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
249 vim9script
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
250 &wrap = true
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
251 &conceallevel = 2
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
252 &concealcursor = 'nc'
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
253 &linebreak = true
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
254 &showbreak = '+ '
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
255 var line: string = 'a`a`a`a`'
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
256 .. 'a'->repeat(&columns - 15)
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
257 .. ' b`b`'
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
258 .. 'b'->repeat(&columns - 10)
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
259 .. ' cccccc'
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
260 ['x'->repeat(&columns), '', line]->setline(1)
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
261 syntax region CodeSpan matchgroup=Delimiter start=/\z(`\+\)/ end=/\z1/ concealends
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
262 [CODE]
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
263 call writefile(code, 'XTest_conceal_linebreak', 'D')
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
264 let buf = RunVimInTerminal('-S XTest_conceal_linebreak', {'rows': 8})
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
265 call VerifyScreenDump(buf, 'Test_conceal_linebreak_1', {})
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
266
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
267 " clean up
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
268 call StopVimInTerminal(buf)
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
269 endfunc
0fbf3e042602 patch 9.0.0662: concealed characters do not work correctly
Bram Moolenaar <Bram@vim.org>
parents: 30164
diff changeset
270
18870
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
271 " Tests for correct display (cursor column position) with +conceal and
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
272 " tabulators. Need to run this test in a separate Vim instance. Otherwise the
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
273 " screen is not updated (lazy redraw) and the cursor position is wrong.
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
274 func Test_conceal_cursor_pos()
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
275 let code =<< trim [CODE]
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
276 :let l = ['start:', '.concealed. text', "|concealed|\ttext"]
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
277 :let l += ['', "\t.concealed.\ttext", "\t|concealed|\ttext", '']
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
278 :let l += [".a.\t.b.\t.c.\t.d.", "|a|\t|b|\t|c|\t|d|"]
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
279 :call append(0, l)
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
280 :call cursor(1, 1)
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
281 :" Conceal settings.
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
282 :set conceallevel=2
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
283 :set concealcursor=nc
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
284 :syntax match test /|/ conceal
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
285 :" Save current cursor position. Only works in <expr> mode, can't be used
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
286 :" with :normal because it moves the cursor to the command line. Thanks
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
287 :" to ZyX <zyx.vim@gmail.com> for the idea to use an <expr> mapping.
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
288 :let curpos = []
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
289 :nnoremap <expr> GG ":let curpos += ['".screenrow().":".screencol()."']\n"
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
290 :normal ztj
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
291 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
292 :" We should end up in the same column when running these commands on the
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
293 :" two lines.
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
294 :normal ft
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
295 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
296 :normal $
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
297 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
298 :normal 0j
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
299 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
300 :normal ft
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
301 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
302 :normal $
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
303 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
304 :normal 0j0j
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
305 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
306 :" Same for next test block.
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
307 :normal ft
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
308 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
309 :normal $
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
310 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
311 :normal 0j
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
312 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
313 :normal ft
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
314 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
315 :normal $
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
316 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
317 :normal 0j0j
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
318 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
319 :" And check W with multiple tabs and conceals in a line.
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
320 :normal W
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
321 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
322 :normal W
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
323 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
324 :normal W
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
325 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
326 :normal $
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
327 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
328 :normal 0j
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
329 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
330 :normal W
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
331 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
332 :normal W
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
333 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
334 :normal W
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
335 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
336 :normal $
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
337 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
338 :set lbr
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
339 :normal $
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
340 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
341 :set list listchars=tab:>-
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
342 :normal 0
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
343 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
344 :normal W
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
345 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
346 :normal W
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
347 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
348 :normal W
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
349 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
350 :normal $
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
351 GGk
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
352 :call writefile(curpos, 'Xconceal_curpos.out')
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
353 :q!
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
354
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
355 [CODE]
30164
f7a2de8a4ddc patch 9.0.0418: manually deleting temp test files
Bram Moolenaar <Bram@vim.org>
parents: 29413
diff changeset
356 call writefile(code, 'XTest_conceal_curpos', 'D')
18870
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
357
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
358 if RunVim([], [], '-s XTest_conceal_curpos')
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
359 call assert_equal([
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
360 \ '2:1', '2:17', '2:20', '3:1', '3:17', '3:20', '5:8', '5:25',
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
361 \ '5:28', '6:8', '6:25', '6:28', '8:1', '8:9', '8:17', '8:25',
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
362 \ '8:27', '9:1', '9:9', '9:17', '9:25', '9:26', '9:26', '9:1',
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
363 \ '9:9', '9:17', '9:25', '9:26'], readfile('Xconceal_curpos.out'))
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
364 endif
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
365
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
366 call delete('Xconceal_curpos.out')
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
367 endfunc
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
368
21014
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
369 func Test_conceal_eol()
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
370 new!
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
371 setlocal concealcursor=n conceallevel=1
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
372 call setline(1, ["x", ""])
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
373 call matchaddpos('Conceal', [[2, 1, 1]], 2, -1, {'conceal': 1})
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
374 redraw!
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
375
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
376 call assert_notequal(screenchar(1, 1), screenchar(2, 2))
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
377 call assert_equal(screenattr(1, 1), screenattr(1, 2))
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
378 call assert_equal(screenattr(1, 2), screenattr(2, 2))
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
379 call assert_equal(screenattr(2, 1), screenattr(2, 2))
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
380
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
381 set list
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
382 redraw!
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
383
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
384 call assert_equal(screenattr(1, 1), screenattr(2, 2))
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
385 call assert_notequal(screenattr(1, 1), screenattr(1, 2))
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
386 call assert_notequal(screenattr(1, 2), screenattr(2, 1))
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
387
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
388 set nolist
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
389 endfunc
20133655107a patch 8.2.1058: multiline conceal causes display errors
Bram Moolenaar <Bram@vim.org>
parents: 19954
diff changeset
390
29413
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
391 func Test_conceal_mouse_click()
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
392 enew!
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
393 set mouse=a
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
394 setlocal conceallevel=2 concealcursor=nc
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
395 syn match Concealed "this" conceal
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
396 hi link Concealed Search
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
397 call setline(1, 'conceal this click here')
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
398 redraw
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
399 call assert_equal(['conceal click here '], ScreenLines(1, 20))
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
400
32872
7a1a9ce831c3 patch 9.0.1745: Missing test coverage for blockwise Visual highlight
Christian Brabandt <cb@256bit.org>
parents: 32824
diff changeset
401 " click on the space between "this" and "click" puts cursor there
7a1a9ce831c3 patch 9.0.1745: Missing test coverage for blockwise Visual highlight
Christian Brabandt <cb@256bit.org>
parents: 32824
diff changeset
402 call test_setmouse(1, 9)
7a1a9ce831c3 patch 9.0.1745: Missing test coverage for blockwise Visual highlight
Christian Brabandt <cb@256bit.org>
parents: 32824
diff changeset
403 call feedkeys("\<LeftMouse>", "tx")
7a1a9ce831c3 patch 9.0.1745: Missing test coverage for blockwise Visual highlight
Christian Brabandt <cb@256bit.org>
parents: 32824
diff changeset
404 call assert_equal([0, 1, 13, 0, 13], getcurpos())
29413
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
405 " click on 'h' of "here" puts cursor there
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
406 call test_setmouse(1, 16)
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
407 call feedkeys("\<LeftMouse>", "tx")
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
408 call assert_equal([0, 1, 20, 0, 20], getcurpos())
32824
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
409 " click on 'e' of "here" puts cursor there
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
410 call test_setmouse(1, 19)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
411 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
412 call assert_equal([0, 1, 23, 0, 23], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
413 " click after end of line puts cursor on 'e' without 'virtualedit'
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
414 call test_setmouse(1, 20)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
415 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
416 call assert_equal([0, 1, 23, 0, 24], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
417 call test_setmouse(1, 21)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
418 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
419 call assert_equal([0, 1, 23, 0, 25], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
420 call test_setmouse(1, 22)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
421 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
422 call assert_equal([0, 1, 23, 0, 26], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
423 call test_setmouse(1, 31)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
424 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
425 call assert_equal([0, 1, 23, 0, 35], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
426 call test_setmouse(1, 32)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
427 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
428 call assert_equal([0, 1, 23, 0, 36], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
429
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
430 set virtualedit=all
32872
7a1a9ce831c3 patch 9.0.1745: Missing test coverage for blockwise Visual highlight
Christian Brabandt <cb@256bit.org>
parents: 32824
diff changeset
431 redraw
7a1a9ce831c3 patch 9.0.1745: Missing test coverage for blockwise Visual highlight
Christian Brabandt <cb@256bit.org>
parents: 32824
diff changeset
432 " click on the space between "this" and "click" puts cursor there
7a1a9ce831c3 patch 9.0.1745: Missing test coverage for blockwise Visual highlight
Christian Brabandt <cb@256bit.org>
parents: 32824
diff changeset
433 call test_setmouse(1, 9)
7a1a9ce831c3 patch 9.0.1745: Missing test coverage for blockwise Visual highlight
Christian Brabandt <cb@256bit.org>
parents: 32824
diff changeset
434 call feedkeys("\<LeftMouse>", "tx")
7a1a9ce831c3 patch 9.0.1745: Missing test coverage for blockwise Visual highlight
Christian Brabandt <cb@256bit.org>
parents: 32824
diff changeset
435 call assert_equal([0, 1, 13, 0, 13], getcurpos())
32824
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
436 " click on 'h' of "here" puts cursor there
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
437 call test_setmouse(1, 16)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
438 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
439 call assert_equal([0, 1, 20, 0, 20], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
440 " click on 'e' of "here" puts cursor there
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
441 call test_setmouse(1, 19)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
442 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
443 call assert_equal([0, 1, 23, 0, 23], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
444 " click after end of line puts cursor there without 'virtualedit'
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
445 call test_setmouse(1, 20)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
446 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
447 call assert_equal([0, 1, 24, 0, 24], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
448 call test_setmouse(1, 21)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
449 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
450 call assert_equal([0, 1, 24, 1, 25], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
451 call test_setmouse(1, 22)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
452 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
453 call assert_equal([0, 1, 24, 2, 26], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
454 call test_setmouse(1, 31)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
455 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
456 call assert_equal([0, 1, 24, 11, 35], getcurpos())
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
457 call test_setmouse(1, 32)
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
458 call feedkeys("\<LeftMouse>", "tx")
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
459 call assert_equal([0, 1, 24, 12, 36], getcurpos())
29413
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
460
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
461 bwipe!
32824
22a08166a876 patch 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
Christian Brabandt <cb@256bit.org>
parents: 31618
diff changeset
462 set mouse& virtualedit&
29413
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
463 endfunc
34e93e046526 patch 9.0.0048: cursor in wrong column with mouse click after concealed text
Bram Moolenaar <Bram@vim.org>
parents: 27626
diff changeset
464
18870
1895dd434ecf patch 8.1.2421: test88 is old style
Bram Moolenaar <Bram@vim.org>
parents: 18072
diff changeset
465 " vim: shiftwidth=2 sts=2 expandtab