Mercurial > vim
annotate src/testdir/test_modeless.vim @ 23917:4b417b776b95 v8.2.2501
patch 8.2.2501: not always clear where an error is reported
Commit: https://github.com/vim/vim/commit/f785aa1354208f6b644e891aa01f8f86d947af7e
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Feb 11 21:19:34 2021 +0100
patch 8.2.2501: not always clear where an error is reported
Problem: Not always clear where an error is reported.
Solution: Add the where_T structure and pass it around. (closes https://github.com/vim/vim/issues/7796)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 11 Feb 2021 21:30:04 +0100 |
parents | 6bcd12791bf1 |
children | ee50174810ac |
rev | line source |
---|---|
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Test for modeless selection |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 " This only works for Unix in a terminal |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 source check.vim |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 CheckNotGui |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 CheckUnix |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 source mouse.vim |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 " Test for modeless characterwise selection (single click) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 func Test_modeless_characterwise_selection() |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 CheckFeature clipboard_working |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 let save_mouse = &mouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 let save_term = &term |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 let save_ttymouse = &ttymouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 call test_override('no_query_mouse', 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 set mouse=a term=xterm mousetime=200 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 new |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 call setline(1, ['one two three', 'foo bar baz']) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 redraw! |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 for ttymouse_val in g:Ttymouse_values + g:Ttymouse_dec |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 let msg = 'ttymouse=' .. ttymouse_val |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 exe 'set ttymouse=' .. ttymouse_val |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
26 " select multiple characters within a line |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
27 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
29 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
30 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
31 let keys ..= MouseLeftClickCode(1, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
32 let keys ..= MouseLeftDragCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
33 let keys ..= MouseLeftReleaseCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
34 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
35 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
36 call assert_equal("wo th", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
37 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
38 " select multiple characters including the end of line |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
39 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
40 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
41 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
42 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
43 let keys ..= MouseLeftClickCode(1, 11) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
44 let keys ..= MouseLeftDragCode(1, 16) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
45 let keys ..= MouseLeftReleaseCode(1, 16) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
46 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
47 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
48 call assert_equal("ree\n", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
49 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
50 " extend a selection using right mouse click |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
51 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
52 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
53 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
54 set mousemodel=extend |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
55 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
56 let keys ..= MouseLeftClickCode(1, 2) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
57 let keys ..= MouseLeftDragCode(1, 5) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
58 let keys ..= MouseLeftReleaseCode(1, 5) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
59 let keys ..= MouseRightClickCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
60 let keys ..= MouseRightReleaseCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
61 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
62 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
63 call assert_equal("ne two th", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
64 set mousemodel& |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
65 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
66 " extend a selection backwards using right mouse click |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
67 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
68 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
69 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
70 set mousemodel=extend |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
71 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
72 let keys ..= MouseLeftClickCode(1, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
73 let keys ..= MouseLeftDragCode(1, 11) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
74 let keys ..= MouseLeftReleaseCode(1, 11) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
75 let keys ..= MouseRightClickCode(1, 3) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
76 let keys ..= MouseRightReleaseCode(1, 3) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
77 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
78 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
79 call assert_equal("e two thr", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
80 set mousemodel& |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
81 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
82 " select multiple characters within a line backwards |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
83 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
84 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
85 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
86 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
87 let keys ..= MouseLeftClickCode(1, 9) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
88 let keys ..= MouseLeftDragCode(1, 3) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
89 let keys ..= MouseLeftReleaseCode(1, 3) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
90 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
91 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
92 call assert_equal("e two t", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
93 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
94 " select multiple characters across lines with (end row > start row) and |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
95 " (end column < start column) |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
96 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
97 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
98 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
99 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
100 let keys ..= MouseLeftClickCode(1, 9) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
101 let keys ..= MouseLeftDragCode(2, 3) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
102 let keys ..= MouseLeftReleaseCode(2, 3) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
103 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
104 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
105 call assert_equal("three\nfoo", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
106 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
107 " select multiple characters across lines with (end row > start row) and |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
108 " (end column > start column) |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
109 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
110 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
111 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
112 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
113 let keys ..= MouseLeftClickCode(1, 4) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
114 let keys ..= MouseLeftDragCode(2, 8) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
115 let keys ..= MouseLeftReleaseCode(2, 8) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
116 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
117 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
118 call assert_equal(" two three\nfoo bar ", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
119 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
120 " select multiple characters across lines with (end row < start row) and |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
121 " (end column < start column) |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
122 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
123 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
124 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
125 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
126 let keys ..= MouseLeftClickCode(2, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
127 let keys ..= MouseLeftDragCode(1, 5) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
128 let keys ..= MouseLeftReleaseCode(1, 5) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
129 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
130 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
131 call assert_equal("two three\nfoo bar", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
132 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
133 " select multiple characters across lines with (end row < start row) and |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
134 " (end column > start column) |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
135 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
136 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
137 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
138 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
139 let keys ..= MouseLeftClickCode(2, 11) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
140 let keys ..= MouseLeftDragCode(1, 13) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
141 let keys ..= MouseLeftReleaseCode(1, 13) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
142 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
143 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
144 call assert_equal("e\nfoo bar baz", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
145 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
146 " select multiple characters across lines with (end row < start row) and |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
147 " the end column is greater than the line length |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
148 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
149 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
150 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
151 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
152 let keys ..= MouseLeftClickCode(2, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
153 let keys ..= MouseLeftDragCode(1, 16) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
154 let keys ..= MouseLeftReleaseCode(1, 16) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
155 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
156 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
157 call assert_equal("\nfoo bar", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
158 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
159 " select multiple characters across lines with start/end row and start/end |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
160 " column outside the lines in the buffer |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
161 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
162 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
163 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
164 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
165 let keys ..= MouseLeftClickCode(4, 3) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
166 let keys ..= MouseLeftDragCode(3, 2) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
167 let keys ..= MouseLeftReleaseCode(3, 2) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
168 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
169 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
170 call assert_equal("\n~ ", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
171 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
172 " change selection using right mouse click within the selected text |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
173 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
174 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
175 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
176 set mousemodel=extend |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
177 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
178 let keys ..= MouseLeftClickCode(1, 5) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
179 let keys ..= MouseLeftDragCode(1, 13) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
180 let keys ..= MouseLeftReleaseCode(1, 13) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
181 let keys ..= MouseRightClickCode(1, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
182 let keys ..= MouseRightReleaseCode(1, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
183 let keys ..= MouseRightClickCode(1, 11) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
184 let keys ..= MouseRightReleaseCode(1, 11) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
185 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
186 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
187 call assert_equal("o thr", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
188 set mousemodel& |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
189 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
190 " select text multiple times at different places |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
191 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
192 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
193 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
194 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
195 let keys ..= MouseLeftClickCode(1, 3) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
196 let keys ..= MouseLeftDragCode(1, 5) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
197 let keys ..= MouseLeftReleaseCode(1, 5) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
198 let keys ..= MouseLeftClickCode(2, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
199 let keys ..= MouseLeftDragCode(2, 9) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
200 let keys ..= MouseLeftReleaseCode(2, 9) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
201 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
202 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
203 call assert_equal("r b", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
204 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
205 " Test for 'clipboard' set to 'autoselectml' to automatically copy the |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
206 " modeless selection to the clipboard |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
207 set clipboard=autoselectml |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
208 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
209 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
210 let keys ..= MouseLeftClickCode(2, 5) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
211 let keys ..= MouseLeftDragCode(2, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
212 let keys ..= MouseLeftReleaseCode(2, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
213 let keys ..= "\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
214 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
215 call assert_equal("bar", @*) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
216 set clipboard& |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
217 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
218 " quadruple click should start characterwise selectmode |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
219 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
220 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
221 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
222 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
223 let keys ..= MouseLeftClickCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
224 let keys ..= MouseLeftReleaseCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
225 let keys ..= MouseLeftClickCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
226 let keys ..= MouseLeftReleaseCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
227 let keys ..= MouseLeftClickCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
228 let keys ..= MouseLeftReleaseCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
229 let keys ..= MouseLeftClickCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
230 let keys ..= MouseLeftDragCode(1, 11) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
231 let keys ..= MouseLeftReleaseCode(1, 11) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
232 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
233 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
234 call assert_equal("hree", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
235 endfor |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
236 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
237 let &mouse = save_mouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
238 let &term = save_term |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
239 let &ttymouse = save_ttymouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
240 set mousetime& |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
241 call test_override('no_query_mouse', 0) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
242 close! |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
243 endfunc |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
244 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
245 " Test for modeless word selection (double click) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
246 func Test_modeless_word_selection() |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
247 CheckFeature clipboard_working |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
248 let save_mouse = &mouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
249 let save_term = &term |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
250 let save_ttymouse = &ttymouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
251 call test_override('no_query_mouse', 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
252 set mouse=a term=xterm mousetime=200 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
253 new |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
254 call setline(1, ['one two three', 'foo bar baz']) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
255 redraw! |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
256 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
257 for ttymouse_val in g:Ttymouse_values + g:Ttymouse_dec |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
258 let msg = 'ttymouse=' .. ttymouse_val |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
259 exe 'set ttymouse=' .. ttymouse_val |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
260 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
261 " select multiple words within a line |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
262 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
263 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
264 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
265 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
266 let keys ..= MouseLeftClickCode(1, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
267 let keys ..= MouseLeftReleaseCode(1, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
268 let keys ..= MouseLeftClickCode(1, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
269 let keys ..= MouseLeftDragCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
270 let keys ..= MouseLeftReleaseCode(1, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
271 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
272 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
273 call assert_equal("two three", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
274 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
275 " select a single word |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
276 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
277 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
278 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
279 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
280 let keys ..= MouseLeftClickCode(2, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
281 let keys ..= MouseLeftReleaseCode(2, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
282 let keys ..= MouseLeftClickCode(2, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
283 let keys ..= MouseLeftReleaseCode(2, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
284 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
285 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
286 call assert_equal("bar", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
287 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
288 " select multiple words backwards within a line |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
289 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
290 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
291 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
292 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
293 let keys ..= MouseLeftClickCode(2, 11) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
294 let keys ..= MouseLeftReleaseCode(2, 11) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
295 let keys ..= MouseLeftClickCode(2, 11) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
296 let keys ..= MouseLeftDragCode(2, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
297 let keys ..= MouseLeftReleaseCode(2, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
298 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
299 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
300 call assert_equal("bar baz", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
301 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
302 " select multiple words backwards across lines |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
303 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
304 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
305 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
306 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
307 let keys ..= MouseLeftClickCode(2, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
308 let keys ..= MouseLeftReleaseCode(2, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
309 let keys ..= MouseLeftClickCode(2, 7) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
310 let keys ..= MouseLeftDragCode(1, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
311 let keys ..= MouseLeftReleaseCode(1, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
312 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
313 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
314 call assert_equal("two three\nfoo bar", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
315 endfor |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
316 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
317 let &mouse = save_mouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
318 let &term = save_term |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
319 let &ttymouse = save_ttymouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
320 set mousetime& |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
321 call test_override('no_query_mouse', 0) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
322 close! |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
323 endfunc |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
324 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
325 " Test for modeless line selection (triple click) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
326 func Test_modeless_line_selection() |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
327 CheckFeature clipboard_working |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
328 let save_mouse = &mouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
329 let save_term = &term |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
330 let save_ttymouse = &ttymouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
331 call test_override('no_query_mouse', 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
332 set mouse=a term=xterm mousetime=200 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
333 new |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
334 call setline(1, ['one two three', 'foo bar baz']) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
335 redraw! |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
336 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
337 for ttymouse_val in g:Ttymouse_values + g:Ttymouse_dec |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
338 let msg = 'ttymouse=' .. ttymouse_val |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
339 exe 'set ttymouse=' .. ttymouse_val |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
340 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
341 " select single line |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
342 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
343 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
344 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
345 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
346 let keys ..= MouseLeftClickCode(2, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
347 let keys ..= MouseLeftReleaseCode(2, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
348 let keys ..= MouseLeftClickCode(2, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
349 let keys ..= MouseLeftReleaseCode(2, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
350 let keys ..= MouseLeftClickCode(2, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
351 let keys ..= MouseLeftReleaseCode(2, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
352 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
353 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
354 call assert_equal("foo bar baz\n", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
355 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
356 " select multiple lines |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
357 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
358 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
359 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
360 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
361 let keys ..= MouseLeftClickCode(1, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
362 let keys ..= MouseLeftReleaseCode(1, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
363 let keys ..= MouseLeftClickCode(1, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
364 let keys ..= MouseLeftReleaseCode(1, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
365 let keys ..= MouseLeftClickCode(1, 6) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
366 let keys ..= MouseLeftDragCode(2, 12) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
367 let keys ..= MouseLeftReleaseCode(2, 12) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
368 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
369 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
370 call assert_equal("one two three\nfoo bar baz\n", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
371 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
372 " select multiple lines backwards |
20365
6bcd12791bf1
patch 8.2.0738: mouse handling in a terminal window not well tested
Bram Moolenaar <Bram@vim.org>
parents:
19738
diff
changeset
|
373 let @* = 'clean' |
19738
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
374 call MouseRightClick(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
375 call MouseRightRelease(1, 1) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
376 let keys = ":" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
377 let keys ..= MouseLeftClickCode(2, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
378 let keys ..= MouseLeftReleaseCode(2, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
379 let keys ..= MouseLeftClickCode(2, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
380 let keys ..= MouseLeftReleaseCode(2, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
381 let keys ..= MouseLeftClickCode(2, 10) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
382 let keys ..= MouseLeftDragCode(1, 3) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
383 let keys ..= MouseLeftReleaseCode(1, 3) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
384 let keys ..= "\<C-Y>\<CR>" |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
385 call feedkeys(keys, "x") |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
386 call assert_equal("one two three\nfoo bar baz\n", @*, msg) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
387 endfor |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
388 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
389 let &mouse = save_mouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
390 let &term = save_term |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
391 let &ttymouse = save_ttymouse |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
392 set mousetime& |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
393 call test_override('no_query_mouse', 0) |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
394 close! |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
395 endfunc |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
396 |
0208534b8a84
patch 8.2.0425: code for modeless selection not sufficiently tested
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
397 " vim: shiftwidth=2 sts=2 expandtab |