summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/shared/text-buffer.ts
diff options
context:
space:
mode:
authorTaylor Mullen <[email protected]>2025-05-20 23:42:40 -0700
committerN. Taylor Mullen <[email protected]>2025-05-20 23:44:53 -0700
commit7fd7c1a5394342e00977d2243b90b71fa8360c0f (patch)
tree28cdee7fbe804b2e3e53dd31e495672175fd136c /packages/cli/src/ui/components/shared/text-buffer.ts
parentba7f1e1e3c8aa1214c43fefde04ad4b8583aa580 (diff)
fix(cli): Handle VSCode Shift+Enter in text buffer
- The text buffer now correctly interprets `\\\r` (produced by Shift+Enter in the VSCode terminal) as a newline character. - Added a corresponding test case to `text-buffer.test.ts`. Fixes https://buganizer.corp.google.com/issues/418505364
Diffstat (limited to 'packages/cli/src/ui/components/shared/text-buffer.ts')
-rw-r--r--packages/cli/src/ui/components/shared/text-buffer.ts8
1 files changed, 7 insertions, 1 deletions
diff --git a/packages/cli/src/ui/components/shared/text-buffer.ts b/packages/cli/src/ui/components/shared/text-buffer.ts
index a8b8cef3..789a909a 100644
--- a/packages/cli/src/ui/components/shared/text-buffer.ts
+++ b/packages/cli/src/ui/components/shared/text-buffer.ts
@@ -1151,7 +1151,13 @@ export function useTextBuffer({
if (key['escape']) return false;
- if (key['return'] || input === '\r' || input === '\n') newline();
+ if (
+ key['return'] ||
+ input === '\r' ||
+ input === '\n' ||
+ input === '\\\r' // VSCode terminal represents shift + enter this way
+ )
+ newline();
else if (key['leftArrow'] && !key['meta'] && !key['ctrl'] && !key['alt'])
move('left');
else if (key['ctrl'] && input === 'b') move('left');