autoload/lsp/completion.vim | 15 +++++++++------ diff --git a/autoload/lsp/completion.vim b/autoload/lsp/completion.vim index 6641e207ca092bf2e3205c9cd0e308e821652bf9..4ab65dd1d954b146fdbddb0ac441774240296983 100644 --- a/autoload/lsp/completion.vim +++ b/autoload/lsp/completion.vim @@ -338,12 +338,15 @@ endif # check if completion item is still selected var cInfo = complete_info() - if cInfo->empty() - || !cInfo.pum_visible - || cInfo.selected == -1 - || cInfo.items[cInfo.selected]->type() != v:t_dict - || cInfo.items[cInfo.selected].user_data->type() != v:t_dict - || cInfo.items[cInfo.selected].user_data.label != cItem.label + if cInfo->empty() || !cInfo.pum_visible || cInfo.selected == -1 + return + endif + + var selItem = cInfo.items->get(cInfo.selected, {}) + if selItem->empty() + || selItem->type() != v:t_dict + || selItem.user_data->type() != v:t_dict + || selItem.user_data.label != cItem.label return endif