From 6d6bba4a4c9a6251c533f70dccfa86c29fa355bb Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 31 Aug 2022 15:27:08 +0530 Subject: [PATCH] debugprintln should be in-band for the loop --- tools/tui/loop/api.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/tools/tui/loop/api.go b/tools/tui/loop/api.go index d85c4e191..576412c8c 100644 --- a/tools/tui/loop/api.go +++ b/tools/tui/loop/api.go @@ -3,6 +3,8 @@ package loop import ( + "encoding/base64" + "fmt" "kitty/tools/tty" "time" @@ -132,7 +134,17 @@ func (self *Loop) KillIfSignalled() { func (self *Loop) DebugPrintln(args ...interface{}) { if self.controlling_term != nil { - self.controlling_term.DebugPrintln(args...) + const limit = 2048 + msg := fmt.Sprintln(args...) + for i := 0; i < len(msg); i += limit { + end := i + limit + if end > len(msg) { + end = len(msg) + } + self.QueueWriteString("\x1bP@kitty-print|") + self.QueueWriteString(base64.StdEncoding.EncodeToString([]byte(msg[i:end]))) + self.QueueWriteString("\x1b\\") + } } } @@ -146,7 +158,7 @@ func (self *Loop) WakeupMainThread() { func (self *Loop) QueueWriteString(data string) IdType { self.write_msg_id_counter++ - msg := write_msg{str: data, id: self.write_msg_id_counter} + msg := write_msg{str: data, bytes: nil, id: self.write_msg_id_counter} self.add_write_to_pending_queue(&msg) return msg.id }