From 8b200f904f33ea55c11735ec2abcf0ab3925a537 Mon Sep 17 00:00:00 2001 From: Shougo Matsushita Date: Mon, 15 Jun 2015 22:09:33 +0900 Subject: [PATCH] completion: Initialize v:completed_item #2839 v:completed_item should always be a dict (not empty string), even before the first completion. --- src/nvim/eval.c | 1 + test/functional/viml/completion_spec.lua | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 6bd2b23c73..93590445c9 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -503,6 +503,7 @@ void eval_init(void) /* add to compat scope dict */ hash_add(&compat_hashtab, p->vv_di.di_key); } + set_vim_var_dict(VV_COMPLETED_ITEM, dict_alloc()); set_vim_var_nr(VV_SEARCHFORWARD, 1L); set_vim_var_nr(VV_HLSEARCH, 1L); set_reg_var(0); /* default for v:register is not 0 but '"' */ diff --git a/test/functional/viml/completion_spec.lua b/test/functional/viml/completion_spec.lua index 7fd36c64fa..5e3d4a6658 100644 --- a/test/functional/viml/completion_spec.lua +++ b/test/functional/viml/completion_spec.lua @@ -10,6 +10,13 @@ describe('completion', function() end) describe('v:completed_item', function() + it('is empty dict until completion', function() + eq({}, eval('v:completed_item')) + end) + it('is empty dict if the candidate is not inserted', function() + feed('ifooo') + eq({}, eval('v:completed_item')) + end) it('returns expected dict in normal completion', function() feed('ifooo') eq('foo', eval('getline(2)'))