mirror of https://github.com/python/cpython
[3.13] gh-119035: Add Ctrl+← and Ctrl+→ word-skipping keybindings to new repl (GH-119248) (#119323)
add word-skipping ctrl keybindings to new repl
(cherry picked from commit 0398d93392
)
Co-authored-by: Alastair Stanley <alastairstanley@ntlworld.com>
This commit is contained in:
parent
256b791fd6
commit
8860f83e4b
|
@ -177,9 +177,12 @@ def _parse_key1(key, s):
|
|||
ret = key[s]
|
||||
s += 1
|
||||
if ctrl:
|
||||
if len(ret) > 1:
|
||||
raise KeySpecError("\\C- must be followed by a character")
|
||||
ret = chr(ord(ret) & 0x1F) # curses.ascii.ctrl()
|
||||
if len(ret) == 1:
|
||||
ret = chr(ord(ret) & 0x1F) # curses.ascii.ctrl()
|
||||
elif ret in {"left", "right"}:
|
||||
ret = f"ctrl {ret}"
|
||||
else:
|
||||
raise KeySpecError("\\C- followed by invalid key")
|
||||
if meta:
|
||||
ret = ["\033", ret]
|
||||
else:
|
||||
|
|
|
@ -136,7 +136,9 @@ default_keymap: tuple[tuple[KeySpec, CommandName], ...] = tuple(
|
|||
(r"\<up>", "up"),
|
||||
(r"\<down>", "down"),
|
||||
(r"\<left>", "left"),
|
||||
(r"\C-\<left>", "backward-word"),
|
||||
(r"\<right>", "right"),
|
||||
(r"\C-\<right>", "forward-word"),
|
||||
(r"\<delete>", "delete"),
|
||||
(r"\<backspace>", "backspace"),
|
||||
(r"\M-\<backspace>", "backward-kill-word"),
|
||||
|
|
Loading…
Reference in New Issue