[release-0.4] paste: fix handling of "<" in cmdline (#11094)
Fixes https://github.com/neovim/neovim/issues/11088.
This commit is contained in:
parent
60b56ed458
commit
36e2846b49
|
@ -189,7 +189,7 @@ paste = (function()
|
|||
if mode == 'c' and not got_line1 then -- cmdline-mode: paste only 1 line.
|
||||
got_line1 = (#lines > 1)
|
||||
vim.api.nvim_set_option('paste', true) -- For nvim_input().
|
||||
local line1, _ = string.gsub(lines[1], '[\r\n\012\027]', ' ') -- Scrub.
|
||||
local line1 = lines[1]:gsub('<', '<lt>'):gsub('[\r\n\012\027]', ' ') -- Scrub.
|
||||
vim.api.nvim_input(line1)
|
||||
vim.api.nvim_set_option('paste', false)
|
||||
elseif mode ~= 'c' then -- Else: discard remaining cmdline-mode chunks.
|
||||
|
|
|
@ -578,6 +578,23 @@ describe('TUI', function()
|
|||
]])
|
||||
end)
|
||||
|
||||
it('paste: less-than sign in cmdline #11088', function()
|
||||
local expected = '<'
|
||||
feed_data(':')
|
||||
wait_for_mode('c')
|
||||
-- "bracketed paste"
|
||||
feed_data('\027[200~'..expected..'\027[201~')
|
||||
screen:expect{grid=[[
|
||||
|
|
||||
{4:~ }|
|
||||
{4:~ }|
|
||||
{4:~ }|
|
||||
{5:[No Name] }|
|
||||
:<{1: } |
|
||||
{3:-- TERMINAL --} |
|
||||
]]}
|
||||
end)
|
||||
|
||||
it('paste: big burst of input', function()
|
||||
feed_data(':set ruler\n')
|
||||
local t = {}
|
||||
|
|
Loading…
Reference in New Issue