This commit is contained in:
Kovid Goyal 2021-07-11 21:39:08 +05:30
parent 6945eb4186
commit cdd8e52116
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C
2 changed files with 16 additions and 15 deletions

View File

@ -39,20 +39,25 @@ class BinaryWrite(Protocol):
pass pass
def debug_write(*a: Any, **kw: Any) -> None:
from base64 import standard_b64encode
fobj = kw.pop('file', sys.stderr.buffer)
buf = io.StringIO()
kw['file'] = buf
print(*a, **kw)
stext = buf.getvalue()
text = b'\x1bP@kitty-print|' + standard_b64encode(stext.encode('utf-8')) + b'\x1b\\'
fobj.write(text)
fobj.flush()
class Debug: class Debug:
fobj: Optional[BinaryWrite] = None fobj: Optional[BinaryWrite] = None
def __call__(self, *a: Any, **kw: Any) -> None: def __call__(self, *a: Any, **kw: Any) -> None:
from base64 import standard_b64encode kw['file'] = self.fobj or sys.stdout.buffer
buf = io.StringIO() debug_write(*a, **kw)
kw['file'] = buf
print(*a, **kw)
stext = buf.getvalue()
text = b'\x1bP@kitty-print|' + standard_b64encode(stext.encode('utf-8')) + b'\x1b\\'
fobj = self.fobj or sys.stdout.buffer
fobj.write(text)
fobj.flush()
debug = Debug() debug = Debug()

View File

@ -79,12 +79,8 @@ class MatchGroup:
def debug(*a: Any, **kw: Any) -> None: def debug(*a: Any, **kw: Any) -> None:
from kittens.tui.loop import Debug from kittens.tui.loop import debug_write
if not hasattr(debug, 'output'): debug_write(*a, **kw)
d = Debug()
d.fobj = sys.stderr.buffer # type: ignore
setattr(debug, 'output', d)
getattr(debug, 'output')(*a, **kw)
class Delegate: class Delegate: