Skip to content

Commit de598e9

Browse files
Bugfix in bracketed paste + unit tests.
1 parent 572198f commit de598e9

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

prompt_toolkit/terminal/vt100_input.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,8 +359,10 @@ def feed(self, data):
359359

360360
# Quit bracketed paste mode and handle remaining input.
361361
self._in_bracketed_paste = False
362+
remaining = self._paste_buffer[end_index + len(end_mark):]
362363
self._paste_buffer = ''
363-
self.feed(self._paste_buffer[end_index + len(end_mark):])
364+
365+
self.feed(remaining)
364366

365367
# Handle normal input character by character.
366368
else:

tests/test_cli.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,14 @@ def test_emacs_arguments():
308308
assert key == '\x03'
309309

310310

311+
def test_bracketed_paste():
312+
result, cli = _feed_cli_with_input('\x1b[200~hello world\x1b[201~\n')
313+
assert result.text == 'hello world'
314+
315+
result, cli = _feed_cli_with_input('\x1b[200~hello\nworld\x1b[201~\x1b\n')
316+
assert result.text == 'hello\nworld'
317+
318+
311319
def test_vi_cursor_movements():
312320
"""
313321
Test cursor movements with Vi key bindings.

0 commit comments

Comments
 (0)