mirror of
https://github.com/vim/vim.git
synced 2025-09-23 03:43:49 -04:00
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: #16813 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
4422de6316
commit
53d59ecc1d
@@ -1,4 +1,4 @@
|
|||||||
*options.txt* For Vim version 9.1. Last change: 2025 Mar 06
|
*options.txt* For Vim version 9.1. Last change: 2025 Mar 07
|
||||||
|
|
||||||
|
|
||||||
VIM REFERENCE MANUAL by Bram Moolenaar
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
||||||
@@ -2135,10 +2135,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'|.
|
||||||
|
|
||||||
|
@@ -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.
|
||||||
@@ -849,7 +849,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")
|
||||||
|
@@ -656,7 +656,7 @@ static struct vimoption options[] =
|
|||||||
#endif
|
#endif
|
||||||
SCTX_INIT},
|
SCTX_INIT},
|
||||||
{"completefuzzycollect", "cfc", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
|
{"completefuzzycollect", "cfc", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
|
||||||
(char_u *)&p_cfc, PV_NONE, did_set_completefuzzycollect, NULL,
|
(char_u *)&p_cfc, PV_NONE, did_set_completefuzzycollect, expand_set_completefuzzycollect,
|
||||||
{(char_u *)"", (char_u *)0L}
|
{(char_u *)"", (char_u *)0L}
|
||||||
SCTX_INIT},
|
SCTX_INIT},
|
||||||
{"completeitemalign", "cia", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
|
{"completeitemalign", "cia", P_STRING|P_VI_DEF|P_ONECOMMA|P_NODUP,
|
||||||
|
@@ -1659,6 +1659,20 @@ did_set_completefuzzycollect(optset_T *args UNUSED)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
expand_set_completefuzzycollect(
|
||||||
|
optexpand_T *args,
|
||||||
|
int *numMatches,
|
||||||
|
char_u ***matches)
|
||||||
|
{
|
||||||
|
return expand_set_opt_string(
|
||||||
|
args,
|
||||||
|
p_cfc_values,
|
||||||
|
ARRAY_LENGTH(p_cfc_values) - 1,
|
||||||
|
numMatches,
|
||||||
|
matches);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The 'completeitemalign' option is changed.
|
* The 'completeitemalign' option is changed.
|
||||||
*/
|
*/
|
||||||
|
@@ -44,6 +44,7 @@ char *did_set_completeopt(optset_T *args);
|
|||||||
int expand_set_completeopt(optexpand_T *args, int *numMatches, char_u ***matches);
|
int expand_set_completeopt(optexpand_T *args, int *numMatches, char_u ***matches);
|
||||||
char *did_set_completeitemalign(optset_T *args);
|
char *did_set_completeitemalign(optset_T *args);
|
||||||
char *did_set_completefuzzycollect(optset_T *args);
|
char *did_set_completefuzzycollect(optset_T *args);
|
||||||
|
int expand_set_completefuzzycollect(optexpand_T *args, int *numMatches, char_u ***matches);
|
||||||
char *did_set_completepopup(optset_T *args);
|
char *did_set_completepopup(optset_T *args);
|
||||||
char *did_set_completeslash(optset_T *args);
|
char *did_set_completeslash(optset_T *args);
|
||||||
int expand_set_completeslash(optexpand_T *args, int *numMatches, char_u ***matches);
|
int expand_set_completeslash(optexpand_T *args, int *numMatches, char_u ***matches);
|
||||||
|
@@ -501,6 +501,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
|
||||||
|
@@ -704,6 +704,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1182,
|
||||||
/**/
|
/**/
|
||||||
1181,
|
1181,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user