1
0
forked from aniani/vim

patch 8.2.3300: Lua: can only execute on Vim command at a time

Problem:    Lua: can only execute on Vim command at a time.  Not easy to get
            the Vim version.
Solution:   Make vim.command() accept multiple lines.  Add vim.version().
            (Yegappan Lakshmanan, closes #8716)
This commit is contained in:
Yegappan Lakshmanan
2021-08-06 21:34:38 +02:00
committed by Bram Moolenaar
parent 5671f3f076
commit 11328bc7df
7 changed files with 124 additions and 5 deletions

View File

@@ -1162,4 +1162,36 @@ func Test_lua_tabpage_var_table()
%bw!
endfunc
" Test for vim.version()
func Test_lua_vim_version()
lua << trim END
vimver = vim.version()
vimver_n = vimver.major * 100 + vimver.minor
END
call assert_equal(v:version, luaeval('vimver_n'))
endfunc
" Test for running multiple commands using vim.command()
func Test_lua_multiple_commands()
lua << trim END
vim.command([[
let Var1 = []
for i in range(3)
let Var1 += [#{name: 'x'}]
endfor
augroup Luagroup
autocmd!
autocmd User Luatest echo 'Hello'
augroup END
]])
END
call assert_equal([{'name': 'x'}, {'name': 'x'}, {'name': 'x'}], Var1)
call assert_true(exists('#Luagroup'))
call assert_true(exists('#Luagroup#User#Luatest'))
augroup Luagroup
autocmd!
augroup END
augroup! Luagroup
endfunc
" vim: shiftwidth=2 sts=2 expandtab