fix(lua): clear got_int when calling vim.on_key() callback (#18979)

This commit is contained in:
zeertzjq
2022-06-16 18:51:36 +08:00
committed by GitHub
parent 0e8186bdd8
commit 179faa3edd
2 changed files with 20 additions and 0 deletions

View File

@@ -23,6 +23,7 @@ local mkdir_p = helpers.mkdir_p
local rmdir = helpers.rmdir
local write_file = helpers.write_file
local expect_exit = helpers.expect_exit
local poke_eventloop = helpers.poke_eventloop
describe('lua stdlib', function()
before_each(clear)
@@ -2268,6 +2269,22 @@ describe('lua stdlib', function()
eq('iworld<ESC>', exec_lua[[return table.concat(keys, '')]])
end)
it('can call vim.fn functions on Ctrl-C #17273', function()
exec_lua([[
_G.ctrl_c_cmdtype = ''
vim.on_key(function(c)
if c == '\3' then
_G.ctrl_c_cmdtype = vim.fn.getcmdtype()
end
end)
]])
feed('/')
poke_eventloop() -- This is needed because Ctrl-C flushes input
feed('<C-C>')
eq('/', exec_lua([[return _G.ctrl_c_cmdtype]]))
end)
end)
describe('vim.wait', function()