mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-08-04 08:28:36 +00:00
"\x1b[27;2;13~" (the older xterm modifyOtherKeys / rxvt encoding of Shift+Enter) is already registered by prompt_toolkit by default -- as Keys.ControlM, i.e. plain Enter/submit. The previous `setdefault()` call was therefore a silent no-op against it: this Shift+Enter variant kept behaving like a submit instead of inserting a newline, even after the ControlJ/WSL fix, since setdefault only sets missing keys. Assign directly to override that default for both known Shift+Enter sequences, since inserting a newline is the whole point of the binding. Add a regression test driving a real PromptSession/parser with this exact sequence, since a mocked-buffer test can't observe prompt_toolkit's default ANSI_SEQUENCES entries taking priority. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>