find completion candidates instead of the standard prefix-based
matching. This option can contain the following values:
- keyword keywords in the current file |i_CTRL-X_CTRL-N|
- keywords with the ".", "w", "b", "u", "U" and
- "k{dict}" flags in 'complete'. |i_CTRL-N| |i_CTRL-P|
+ keyword keywords in the current file |i_CTRL-X_CTRL-N|
+ keywords with flags ".", "w", |i_CTRL-N| |i_CTRL-P|
+ "b", "u", "U" and "k{dict}" in 'complete'
+ keywords in 'dictionary' |i_CTRL-X_CTRL-K|
- files file names |i_CTRL-X_CTRL-F|
+ files file names |i_CTRL-X_CTRL-F|
- whole_line whole lines |i_CTRL-X_CTRL-L|
+ whole_line whole lines |i_CTRL-X_CTRL-L|
- When used with 'completeopt' "longest" option, fuzzy collection can
- identify the longest common string among the best fuzzy matches and
- automatically insert it.
+ When used the 'completeopt' "longest" option value, fuzzy collection
+ can identify the longest common string among the best fuzzy matches
+ and insert it automatically.
*'completeitemalign'* *'cia'*
'completeitemalign' 'cia' string (default: "abbr,kind,menu")
static int
cfc_has_mode(void)
{
- switch (ctrl_x_mode)
- {
- case CTRL_X_NORMAL:
- return (cfc_flags & CFC_KEYWORD) != 0;
- case CTRL_X_FILES:
- return (cfc_flags & CFC_FILES) != 0;
- case CTRL_X_WHOLE_LINE:
- return (cfc_flags & CFC_WHOLELINE) != 0;
- default:
- return FALSE;
- }
+ if (ctrl_x_mode_normal() || ctrl_x_mode_dictionary())
+ return (cfc_flags & CFC_KEYWORD) != 0;
+ else if (ctrl_x_mode_files())
+ return (cfc_flags & CFC_FILES) != 0;
+ else if (ctrl_x_mode_whole_line())
+ return (cfc_flags & CFC_WHOLELINE) != 0;
+ else
+ return FALSE;
}
/*
int add_r;
char_u *leader = NULL;
int leader_len = 0;
- int in_fuzzy_collect = cfc_has_mode() && ctrl_x_mode_normal();
+ int in_fuzzy_collect = cfc_has_mode();
int score = 0;
int len = 0;
char_u *line_end = NULL;
call feedkeys("Gofuzzy\<C-X>\<C-N>\<C-N>\<C-N>\<C-N>\<CR>\<Esc>0", 'tx!')
call assert_equal('completefuzzycollect', getline(line('.') - 1))
+ " keywords in 'dictonary'
+ call writefile(['hello', 'think'], 'test_dict.txt', 'D')
+ set dict=test_dict.txt
+ call feedkeys("Sh\<C-X>\<C-K>\<C-N>\<CR>\<Esc>0", 'tx!')
+ call assert_equal('hello', getline(line('.') - 1))
+ call feedkeys("Sh\<C-X>\<C-K>\<C-N>\<C-N>\<CR>\<Esc>0", 'tx!')
+ call assert_equal('think', getline(line('.') - 1))
+
bw!
bw!
+ set dict&
set completeopt& cfc& cpt&
endfunc