Mercurial > vim
annotate src/testdir/test_ins_complete_no_halt.vim @ 31099:3396d7f4b580 v9.0.0884
patch 9.0.0884: mouse shape remains in op-pending mode after failed change
Commit: https://github.com/vim/vim/commit/cdeb65729d96c90320b9009e583ade305c396f29
Author: zeertzjq <zeertzjq@outlook.com>
Date: Tue Nov 15 13:46:12 2022 +0000
patch 9.0.0884: mouse shape remains in op-pending mode after failed change
Problem: Mouse shape remains in op-pending mode after failed change.
Solution: Reset finish_op and restore it. (closes https://github.com/vim/vim/issues/11545)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 15 Nov 2022 15:00:06 +0100 |
parents | b9e8c9ed792b |
children |
rev | line source |
---|---|
25513
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
1 " Test insert mode completion does not get stuck when looping around. |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
2 " In a separate file to avoid the settings to leak to other test cases. |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
3 |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
4 set complete+=kspell |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
5 set completeopt+=menu |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
6 set completeopt+=menuone |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
7 set completeopt+=noselect |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
8 set completeopt+=noinsert |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
9 let g:autocompletion = v:true |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
10 |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
11 func Test_ins_complete_no_halt() |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
12 function! OpenCompletion() |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
13 if pumvisible() && (g:autocompletion == v:true) |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
14 call feedkeys("\<C-e>\<C-n>", "i") |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
15 return |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
16 endif |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
17 if ((v:char >= 'a' && v:char <= 'z') || (v:char >= 'A' && v:char <= 'Z')) && (g:autocompletion == v:true) |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
18 call feedkeys("\<C-n>", "i") |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
19 redraw |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
20 endif |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
21 endfunction |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
22 |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
23 autocmd InsertCharPre * noautocmd call OpenCompletion() |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
24 |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
25 setlocal spell! spelllang=en_us |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
26 |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
27 call feedkeys("iauto-complete-halt-test test test test test test test test test test test test test test test test test test test\<C-c>", "tx!") |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
28 call assert_equal(["auto-complete-halt-test test test test test test test test test test test test test test test test test test test"], getline(1, "$")) |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
29 endfunc |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
30 |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
31 func Test_auto_complete_backwards_no_halt() |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
32 function! OpenCompletion() |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
33 if pumvisible() && (g:autocompletion == v:true) |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
34 call feedkeys("\<C-e>\<C-p>", "i") |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
35 return |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
36 endif |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
37 if ((v:char >= 'a' && v:char <= 'z') || (v:char >= 'A' && v:char <= 'Z')) && (g:autocompletion == v:true) |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
38 call feedkeys("\<C-p>", "i") |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
39 redraw |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
40 endif |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
41 endfunction |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
42 |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
43 autocmd InsertCharPre * noautocmd call OpenCompletion() |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
44 |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
45 setlocal spell! spelllang=en_us |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
46 |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
47 call feedkeys("iauto-complete-halt-test test test test test test test test test test test test test test test test test test test\<C-c>", "tx!") |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
48 call assert_equal(["auto-complete-halt-test test test test test test test test test test test test test test test test test test test"], getline(1, "$")) |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
49 endfunc |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
50 |
b9e8c9ed792b
patch 8.2.3293: finding completions may cause an endless loop
Bram Moolenaar <Bram@vim.org>
parents:
diff
changeset
|
51 " vim: shiftwidth=2 sts=2 expandtab |