From 76633e06ae1a2f10141abd599b856bc8e74d5380 Mon Sep 17 00:00:00 2001 From: Laurent Demailly Date: Fri, 11 Jul 2025 16:57:45 -0700 Subject: [PATCH] Allow multi-line bracketed paste to not create single line with LF entry --- terminal.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/terminal.go b/terminal.go index 13e9a64..a22a7aa 100644 --- a/terminal.go +++ b/terminal.go @@ -146,6 +146,7 @@ const ( keyCtrlD = 4 keyCtrlU = 21 keyEnter = '\r' + keyLF = '\n' // technically not a key (unless a user uses Ctrl+J), but needed for bracketed paste mode with `\n`s. keyEscape = 27 keyBackspace = 127 keyUnknown = 0xd800 /* UTF-16 surrogate area */ + iota @@ -567,7 +568,7 @@ func (t *Terminal) handleKey(key rune) (line string, ok bool) { t.setLine(runes, len(runes)) } } - case keyEnter: + case keyEnter, keyLF: t.moveCursorToPos(len(t.line)) t.queue([]rune("\r\n")) line = string(t.line)