neovim

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

commit a212fc7745ce95a8399166e8771c34996336ded5
parent 933df9827014050be6b122d5c3c70aa13c9a46ac
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Thu, 27 Nov 2025 09:22:06 +0800

vim-patch:9.1.1929: completion: spell completion wrong with fuzzy (#36709)

Problem:  completion: spell completion wrong with fuzzy
Solution: Disable fuzzy sort for spell completion
          (Maxim Kim)

fixes vim/vim#18800
closes: vim/vim#18809

https://github.com/vim/vim/commit/0e1ab0adb82c352c4fc7aea40ffecf3ef69ba8a7

Co-authored-by: Maxim Kim <habamax@gmail.com>
Diffstat:
Msrc/nvim/insexpand.c | 2+-
Mtest/old/testdir/test_ins_complete.vim | 17+++++++++++++++++
2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/nvim/insexpand.c b/src/nvim/insexpand.c @@ -4936,7 +4936,7 @@ static int ins_compl_get_exp(pos_T *ini) } may_trigger_modechanged(); - if (match_count > 0) { + if (match_count > 0 && !ctrl_x_mode_spell()) { if (is_nearest_active() && !ins_compl_has_preinsert()) { sort_compl_match_list(cp_compare_nearest); } diff --git a/test/old/testdir/test_ins_complete.vim b/test/old/testdir/test_ins_complete.vim @@ -1426,6 +1426,23 @@ func Test_complete_wholeline() bw! endfunc +" Test for using CTRL-X CTRL-S to complete spell suggestions +func Test_complete_spell() + new + setlocal spell + " without fuzzy + call setline(1, 'The rigth thing') + exe "normal! A\<C-X>\<C-S>" + call assert_equal('The right thing', getline(1)) + %d + " with fuzzy + setlocal completeopt+=fuzzy + call setline(1, 'The rigth thing') + exe "normal! A\<C-X>\<C-S>" + call assert_equal('The right thing', getline(1)) + bw! +endfunc + " Test insert completion with 'cindent' (adjust the indent) func Test_complete_with_cindent() new