summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_ins_complete.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-02-18 17:50:47 +0000
committerBram Moolenaar <Bram@vim.org>2022-02-18 17:50:47 +0000
commit1fca5f3e86f08e696058fc7e86dfe41b415a78e6 (patch)
tree533fd7d2f262b2d4238be66a00327b13e979e4cb /src/testdir/test_ins_complete.vim
parentb8fb5bb68d45f3e52bb9ea201dc9e7dc6b6d2c6d (diff)
patch 8.2.4416: Vim9: using a script-local function requires using "s:"v8.2.4416
Problem: Vim9: using a script-local function requires using "s:" when setting 'completefunc'. Solution: Do not require "s:" in Vim9 script. (closes #9796)
Diffstat (limited to 'src/testdir/test_ins_complete.vim')
-rw-r--r--src/testdir/test_ins_complete.vim17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim
index 7e3fd296e2..cb643769ea 100644
--- a/src/testdir/test_ins_complete.vim
+++ b/src/testdir/test_ins_complete.vim
@@ -1455,6 +1455,23 @@ func Test_completefunc_callback()
bw!
delfunc s:CompleteFunc3
+ " In Vim9 script s: can be omitted
+ let lines =<< trim END
+ vim9script
+ var CompleteFunc4Args = []
+ def CompleteFunc4(findstart: bool, base: string): any
+ add(CompleteFunc4Args, [findstart, base])
+ return findstart ? 0 : []
+ enddef
+ set completefunc=CompleteFunc4
+ new
+ setline(1, 'script1')
+ feedkeys("A\<C-X>\<C-U>\<Esc>", 'x')
+ assert_equal([[1, ''], [0, 'script1']], CompleteFunc4Args)
+ bw!
+ END
+ call v9.CheckScriptSuccess(lines)
+
" invalid return value
let &completefunc = {a -> 'abc'}
call feedkeys("A\<C-X>\<C-U>\<Esc>", 'x')