mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-18 06:25:13 +02:00
Improve performance when pasting large amounts of text into readline by not redrawing on every char
This commit is contained in:
@@ -46,13 +46,14 @@ type EscapeCodeParser struct {
|
||||
current_callback func([]byte) error
|
||||
|
||||
// Callbacks
|
||||
HandleRune func(rune) error
|
||||
HandleCSI func([]byte) error
|
||||
HandleOSC func([]byte) error
|
||||
HandleDCS func([]byte) error
|
||||
HandlePM func([]byte) error
|
||||
HandleSOS func([]byte) error
|
||||
HandleAPC func([]byte) error
|
||||
HandleRune func(rune) error
|
||||
HandleEndOfBracketedPaste func()
|
||||
HandleCSI func([]byte) error
|
||||
HandleOSC func([]byte) error
|
||||
HandleDCS func([]byte) error
|
||||
HandlePM func([]byte) error
|
||||
HandleSOS func([]byte) error
|
||||
HandleAPC func([]byte) error
|
||||
}
|
||||
|
||||
func (self *EscapeCodeParser) InBracketedPaste() bool { return self.state == bracketed_paste }
|
||||
@@ -183,6 +184,9 @@ func (self *EscapeCodeParser) dispatch_char(ch utils.UTF8State) error {
|
||||
self.bracketed_paste_buffer = append(self.bracketed_paste_buffer, ch)
|
||||
if self.bracketed_paste_buffer[len(self.bracketed_paste_buffer)-1] == '~' {
|
||||
self.reset_state()
|
||||
if self.HandleEndOfBracketedPaste != nil {
|
||||
self.HandleEndOfBracketedPaste()
|
||||
}
|
||||
}
|
||||
return nil
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user