0
0
mirror of https://github.com/vim/vim.git synced 2025-07-24 10:45:12 -04:00

patch 9.0.1218: completion includes functions that don't work

Problem:    Completion includes functions that don't work.
Solution:   Skip functions that are not implemented. (Kota Kato,
            closes #11845)
This commit is contained in:
Kota Kato 2023-01-18 15:27:38 +00:00 committed by Bram Moolenaar
parent 486fc25a29
commit 90c2353365
3 changed files with 12 additions and 0 deletions

View File

@ -2872,6 +2872,10 @@ get_function_name(expand_T *xp, int idx)
}
if (++intidx < (int)ARRAY_LENGTH(global_functions))
{
// Skip if the function doesn't have an implementation (feature not
// implemented).
if (global_functions[intidx].f_func == NULL)
return (char_u *)"";
STRCPY(IObuff, global_functions[intidx].f_name);
STRCAT(IObuff, "(");
if (global_functions[intidx].f_max_argc == 0)

View File

@ -489,6 +489,12 @@ func Test_getcompletion()
let l = getcompletion('paint', 'function')
call assert_equal([], l)
if !has('ruby')
" global_functions[] has an entry but it doesn't have an implemention
let l = getcompletion('ruby', 'function')
call assert_equal([], l)
endif
let Flambda = {-> 'hello'}
let l = getcompletion('', 'function')
let l = filter(l, {i, v -> v =~ 'lambda'})

View File

@ -695,6 +695,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1218,
/**/
1217,
/**/