neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 37316fbac641ecafde29fd750a08ece490d209c1
parent 88dca6a83593a0cf33866addf36cad2e847a2899
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Sun, 12 Jan 2025 08:04:25 +0800

vim-patch:9.1.1005: completion text is highlighted even with no pattern found (#31973)

Problem:  completion text is highlighted even with no pattern found
Solution: use ins_compl_leader_len() instead of checking
          compl_leader.length (glepnir)

closes: vim/vim#16422

https://github.com/vim/vim/commit/9fddb8ae770be3e16545dd4c2f4cfaad8f62cb40

Co-authored-by: glepnir <glephunter@gmail.com>
Diffstat:
Msrc/nvim/insexpand.c | 2+-
Mtest/functional/ui/popupmenu_spec.lua | 11++++++++++-
Mtest/old/testdir/test_popup.vim | 7+++++++
3 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/nvim/insexpand.c b/src/nvim/insexpand.c @@ -970,7 +970,7 @@ int ins_compl_col_range_attr(int col) return -1; } - if (col >= (compl_col + (int)compl_leader.size) && col < compl_ins_end_col) { + if (col >= (compl_col + (int)ins_compl_leader_len()) && col < compl_ins_end_col) { return syn_name2attr("ComplMatchIns"); } diff --git a/test/functional/ui/popupmenu_spec.lua b/test/functional/ui/popupmenu_spec.lua @@ -5885,7 +5885,16 @@ describe('builtin popupmenu', function() {1:~ }|*17 {2:-- }{5:match 1 of 3} | ]]) - feed('<Esc>') + feed('<C-E><Esc>') + + command('set cot-=fuzzy') + feed('Sf<C-N>') + screen:expect([[ + {10:f^ }| + {1:~ }|*18 + {2:-- }{6:Pattern not found} | + ]]) + feed('<C-E><Esc>') end) end end diff --git a/test/old/testdir/test_popup.vim b/test/old/testdir/test_popup.vim @@ -1830,6 +1830,13 @@ func Test_pum_matchins_highlight_combine() call term_sendkeys(buf, "S\<C-X>\<C-O>f\<C-N>") call VerifyScreenDump(buf, 'Test_pum_matchins_combine_08', {}) call term_sendkeys(buf, "\<C-E>\<Esc>") + call TermWait(buf) + + call term_sendkeys(buf, ":set cot-=fuzzy\<CR>") + call TermWait(buf) + call term_sendkeys(buf, "Sf\<C-N>") + call VerifyScreenDump(buf, 'Test_pum_matchins_combine_09', {}) + call term_sendkeys(buf, "\<C-E>\<Esc>") call StopVimInTerminal(buf) endfunc