mirror of
https://github.com/neovim/neovim.git
synced 2025-12-15 19:05:40 +00:00
fix(keywordprg): retain terminal buffer after K (#17046)
This commit is contained in:
@@ -33,6 +33,29 @@ describe('K', function()
|
||||
feed('i'..test_file..'<ESC>K')
|
||||
retry(nil, nil, function() eq(1, eval('filereadable("'..test_file..'")')) end)
|
||||
eq({'fnord'}, eval("readfile('"..test_file.."')"))
|
||||
-- Confirm that Neovim is still in terminal mode after K is pressed (#16692).
|
||||
helpers.sleep(500)
|
||||
eq('t', eval('mode()'))
|
||||
feed('<space>') -- Any key, not just <space>, can be used here to escape.
|
||||
eq('n', eval('mode()'))
|
||||
end)
|
||||
|
||||
it("<esc> kills the buffer for a running 'keywordprg' command", function()
|
||||
helpers.source('set keywordprg=less')
|
||||
eval('writefile(["hello", "world"], "' .. test_file .. '")')
|
||||
feed('i' .. test_file .. '<esc>K')
|
||||
eq('t', eval('mode()'))
|
||||
-- Confirm that an arbitrary keypress doesn't escape (i.e., the process is
|
||||
-- still running). If the process were no longer running, an arbitrary
|
||||
-- keypress would escape.
|
||||
helpers.sleep(500)
|
||||
feed('<space>')
|
||||
eq('t', eval('mode()'))
|
||||
-- Confirm that <esc> kills the buffer for the running command.
|
||||
local bufnr = eval('bufnr()')
|
||||
feed('<esc>')
|
||||
eq('n', eval('mode()'))
|
||||
helpers.neq(bufnr, eval('bufnr()'))
|
||||
end)
|
||||
|
||||
end)
|
||||
|
||||
Reference in New Issue
Block a user