Fix paste of text with line feed characters (#3043)

Some terminals may send line feed characters when pasting text with
newlines.
This commit is contained in:
Giuseppe Lumia 2024-05-08 00:26:07 +02:00 committed by GitHub
parent ffbd3d173f
commit 2a5302a1cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -218,7 +218,7 @@ func (i *Instance) Readline() (string, error) {
case CharCtrlZ: case CharCtrlZ:
fd := int(syscall.Stdin) fd := int(syscall.Stdin)
return handleCharCtrlZ(fd, i.Terminal.termios) return handleCharCtrlZ(fd, i.Terminal.termios)
case CharEnter: case CharEnter, CharCtrlJ:
output := buf.String() output := buf.String()
if output != "" { if output != "" {
i.History.Add([]rune(output)) i.History.Add([]rune(output))
@ -232,7 +232,7 @@ func (i *Instance) Readline() (string, error) {
metaDel = false metaDel = false
continue continue
} }
if r >= CharSpace || r == CharEnter { if r >= CharSpace || r == CharEnter || r == CharCtrlJ {
buf.Add(r) buf.Add(r)
} }
} }