Skip to content

Commit 3ad66c1

Browse files
committed
gh-145398: Translate bracketed-paste start marker into an event
The event queue now turns the terminal's \x1b[200~ bracketed-paste start sequence into a synthetic "bracketed paste" named event, so readers can bind \<bracketed paste> instead of matching the raw escape sequence directly.
1 parent f00e983 commit 3ad66c1

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

Lib/_pyrepl/base_eventqueue.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,13 @@
3030
from .console import Event
3131
from .trace import trace
3232

33+
PASTE_KEYCODES = {
34+
b'\033[200~': 'bracketed paste',
35+
}
36+
3337
class BaseEventQueue:
3438
def __init__(self, encoding: str, keymap_dict: dict[bytes, str]) -> None:
39+
keymap_dict.update(PASTE_KEYCODES)
3540
self.compiled_keymap = keymap.compile_keymap(keymap_dict)
3641
self.keymap = self.compiled_keymap
3742
trace("keymap {k!r}", k=self.keymap)

Lib/_pyrepl/keymap.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
"space": " ",
9999
"tab": "\t",
100100
"up": "up",
101+
"bracketed paste": "bracketed paste",
101102
}
102103

103104

0 commit comments

Comments
 (0)