mirror of
https://github.com/neovim/neovim.git
synced 2025-09-17 08:48:16 +00:00
paste: abort paste if handler does not return true
This commit is contained in:
@@ -109,7 +109,7 @@ local function _paste(data)
|
|||||||
-- TODO: do not redraw (slow!) until paste is finished.
|
-- TODO: do not redraw (slow!) until paste is finished.
|
||||||
-- if eof then
|
-- if eof then
|
||||||
vim.api.nvim_command('redraw')
|
vim.api.nvim_command('redraw')
|
||||||
return 0
|
return true -- Paste will not continue if not returning `true`.
|
||||||
end
|
end
|
||||||
|
|
||||||
-- TODO(ZyX-I): Create compatibility layer.
|
-- TODO(ZyX-I): Create compatibility layer.
|
||||||
|
@@ -133,9 +133,8 @@ static void tinput_wait_enqueue(void **argv)
|
|||||||
Object fret
|
Object fret
|
||||||
= nvim_execute_lua(STATIC_CSTR_AS_STRING("return vim._paste(...)"),
|
= nvim_execute_lua(STATIC_CSTR_AS_STRING("return vim._paste(...)"),
|
||||||
args, &err);
|
args, &err);
|
||||||
if ((fret.type == kObjectTypeInteger && fret.data.integer)
|
if (fret.type != kObjectTypeBoolean || !fret.data.boolean) {
|
||||||
|| (fret.type == kObjectTypeBoolean && fret.data.boolean)
|
// Abort paste if handler does not return true.
|
||||||
|| (fret.type == kObjectTypeString && fret.data.string.size)) {
|
|
||||||
input->paste_enabled = false;
|
input->paste_enabled = false;
|
||||||
}
|
}
|
||||||
api_free_object(fret);
|
api_free_object(fret);
|
||||||
|
Reference in New Issue
Block a user