]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
patch 9.1.1929: completion: spell completion wrong with fuzzy v9.1.1929
authorMaxim Kim <habamax@gmail.com>
Wed, 26 Nov 2025 20:23:44 +0000 (20:23 +0000)
committerChristian Brabandt <cb@256bit.org>
Wed, 26 Nov 2025 20:23:44 +0000 (20:23 +0000)
Problem:  completion: spell completion wrong with fuzzy
Solution: Disable fuzzy sort for spell completion
          (Maxim Kim)

fixes #18800
closes: #18809

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
src/insexpand.c
src/testdir/test_ins_complete.vim
src/version.c

index 8ec549ae0202902004b083d1bb21248b1b5fef04..22caba3df5ad07bdb0f1d7c278726e40da109d45 100644 (file)
@@ -5710,7 +5710,7 @@ 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);
index 77be5b42e7ac1d32c7825a7af91f227a0e225e25..fbc15e5c1cca01360efff9784f2947beea2597fc 100644 (file)
@@ -1320,6 +1320,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
index 8210130ee7ffac06d3f39479bc60802876a55eab..99a865d2a33c7ecc8118501bd65aa8e41cd86624 100644 (file)
@@ -729,6 +729,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1929,
 /**/
     1928,
 /**/