vim-patch:9.1.1182: No cmdline completion for 'completefuzzycollect'

Problem:  No cmdline completion for the 'completefuzzycollect' option
          (after v9.1.1178)
Solution: Add cmdline completion for the 'completefuzzycollect' option,
          improve its description in optwin.vim (zeertzjq).

closes: vim/vim#16813

53d59ecc1d

No code change is needed in Nvim as Nvim uses expand_set_str_generic()
by default.
This commit is contained in:
zeertzjq
2025-03-08 05:58:00 +08:00
parent 17db70f3af
commit 10fde593f1
5 changed files with 9 additions and 8 deletions

View File

@@ -1548,10 +1548,10 @@ A jump table for the options with a short description can be found at |Q_op|.
fuzzy Enable |fuzzy-matching| for completion candidates. This fuzzy Enable |fuzzy-matching| for completion candidates. This
allows for more flexible and intuitive matching, where allows for more flexible and intuitive matching, where
characters can be skipped and matches can be found even characters can be skipped and matches can be found even
if the exact sequence is not typed. Note: This option if the exact sequence is not typed. Note: This option
does not affect the collection of candidate list, it only does not affect the collection of candidate list, it only
controls how completion candidates are reduced from the controls how completion candidates are reduced from the
list of alternatives. If you want to use |fuzzy-matching| list of alternatives. If you want to use |fuzzy-matching|
to gather more alternatives for your candidate list, to gather more alternatives for your candidate list,
see |'completefuzzycollect'|. see |'completefuzzycollect'|.

View File

@@ -1078,10 +1078,10 @@ vim.go.cia = vim.go.completeitemalign
--- fuzzy Enable `fuzzy-matching` for completion candidates. This --- fuzzy Enable `fuzzy-matching` for completion candidates. This
--- allows for more flexible and intuitive matching, where --- allows for more flexible and intuitive matching, where
--- characters can be skipped and matches can be found even --- characters can be skipped and matches can be found even
--- if the exact sequence is not typed. Note: This option --- if the exact sequence is not typed. Note: This option
--- does not affect the collection of candidate list, it only --- does not affect the collection of candidate list, it only
--- controls how completion candidates are reduced from the --- controls how completion candidates are reduced from the
--- list of alternatives. If you want to use `fuzzy-matching` --- list of alternatives. If you want to use `fuzzy-matching`
--- to gather more alternatives for your candidate list, --- to gather more alternatives for your candidate list,
--- see `'completefuzzycollect'`. --- see `'completefuzzycollect'`.
--- ---

View File

@@ -1,7 +1,7 @@
" These commands create the option window. " These commands create the option window.
" "
" Maintainer: The Vim Project <https://github.com/vim/vim> " Maintainer: The Vim Project <https://github.com/vim/vim>
" Last Change: 2025 Feb 08 " Last Change: 2025 Mar 07
" Former Maintainer: Bram Moolenaar <Bram@vim.org> " Former Maintainer: Bram Moolenaar <Bram@vim.org>
" If there already is an option window, jump to that one. " If there already is an option window, jump to that one.
@@ -726,7 +726,7 @@ if has("insert_expand")
call <SID>AddOption("complete", gettext("specifies how Insert mode completion works for CTRL-N and CTRL-P")) call <SID>AddOption("complete", gettext("specifies how Insert mode completion works for CTRL-N and CTRL-P"))
call append("$", "\t" .. s:local_to_buffer) call append("$", "\t" .. s:local_to_buffer)
call <SID>OptionL("cfc") call <SID>OptionL("cfc")
call <SID>AddOption("completefuzzycollect", gettext("using fuzzy collect for defaule completion mode")) call <SID>AddOption("completefuzzycollect", gettext("use fuzzy collection for specific completion modes"))
call <SID>OptionL("cpt") call <SID>OptionL("cpt")
call <SID>AddOption("completeopt", gettext("whether to use a popup menu for Insert mode completion")) call <SID>AddOption("completeopt", gettext("whether to use a popup menu for Insert mode completion"))
call <SID>OptionL("cot") call <SID>OptionL("cot")

View File

@@ -1529,10 +1529,10 @@ local options = {
fuzzy Enable |fuzzy-matching| for completion candidates. This fuzzy Enable |fuzzy-matching| for completion candidates. This
allows for more flexible and intuitive matching, where allows for more flexible and intuitive matching, where
characters can be skipped and matches can be found even characters can be skipped and matches can be found even
if the exact sequence is not typed. Note: This option if the exact sequence is not typed. Note: This option
does not affect the collection of candidate list, it only does not affect the collection of candidate list, it only
controls how completion candidates are reduced from the controls how completion candidates are reduced from the
list of alternatives. If you want to use |fuzzy-matching| list of alternatives. If you want to use |fuzzy-matching|
to gather more alternatives for your candidate list, to gather more alternatives for your candidate list,
see |'completefuzzycollect'|. see |'completefuzzycollect'|.

View File

@@ -513,6 +513,7 @@ func Test_set_completion_string_values()
endif endif
call assert_equal('.', getcompletion('set complete=', 'cmdline')[1]) call assert_equal('.', getcompletion('set complete=', 'cmdline')[1])
call assert_equal('menu', getcompletion('set completeopt=', 'cmdline')[1]) call assert_equal('menu', getcompletion('set completeopt=', 'cmdline')[1])
call assert_equal('keyword', getcompletion('set completefuzzycollect=', 'cmdline')[0])
if exists('+completeslash') if exists('+completeslash')
call assert_equal('backslash', getcompletion('set completeslash=', 'cmdline')[1]) call assert_equal('backslash', getcompletion('set completeslash=', 'cmdline')[1])
endif endif