mirror of
https://github.com/neovim/neovim.git
synced 2026-05-26 23:08:36 +00:00
fix(terminal): forward streamed bracketed paste properly (#39152)
This commit is contained in:
@@ -1373,6 +1373,9 @@ Boolean nvim_paste(uint64_t channel_id, String data, Boolean crlf, Integer phase
|
||||
});
|
||||
if (phase == -1 || phase == 1) { // Start of paste-stream.
|
||||
cancelled = false;
|
||||
if (curbuf->terminal) {
|
||||
terminal_set_streamed_paste(curbuf->terminal, true);
|
||||
}
|
||||
} else if (cancelled) {
|
||||
// Skip remaining chunks. Report error only once per "stream".
|
||||
goto theend;
|
||||
@@ -1386,6 +1389,9 @@ Boolean nvim_paste(uint64_t channel_id, String data, Boolean crlf, Integer phase
|
||||
if (ERROR_SET(err) || (rv.type == kObjectTypeBoolean && !rv.data.boolean)) {
|
||||
cancelled = true;
|
||||
}
|
||||
if ((phase == -1 || phase == 3 || cancelled) && curbuf->terminal) {
|
||||
terminal_set_streamed_paste(curbuf->terminal, false);
|
||||
}
|
||||
if (!cancelled && (phase == -1 || phase == 1)) {
|
||||
paste_store(channel_id, kFalse, NULL_STRING, crlf);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user