From c95bb109c83f8a1b7b4a7c316ab7f0c1ef845cd9 Mon Sep 17 00:00:00 2001 From: Junegunn Choi <junegunn.c@gmail.com> Date: Thu, 2 Feb 2017 13:14:27 +0900 Subject: [PATCH] Suppress CSI codes in the output --- src/tui/light.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/tui/light.go b/src/tui/light.go index d5631ec9..2ce0d5ff 100644 --- a/src/tui/light.go +++ b/src/tui/light.go @@ -748,13 +748,17 @@ func (w *LightWindow) Print(text string) { w.cprint2(colDefault, w.bg, AttrRegular, text) } +func cleanse(str string) string { + return strings.Replace(str, "\x1b", "?", -1) +} + func (w *LightWindow) CPrint(pair ColorPair, attr Attr, text string) { if !w.colored { w.csiColor(colDefault, colDefault, attrFor(pair, attr)) } else { w.csiColor(pair.Fg(), pair.Bg(), attr) } - w.stderrInternal(text, false) + w.stderrInternal(cleanse(text), false) w.csi("m") } @@ -762,7 +766,7 @@ func (w *LightWindow) cprint2(fg Color, bg Color, attr Attr, text string) { if w.csiColor(fg, bg, attr) { defer w.csi("m") } - w.stderrInternal(text, false) + w.stderrInternal(cleanse(text), false) } type wrappedLine struct { -- GitLab