From a5d5a39c38f4b13caff8476fe7374b2cfca10c8f Mon Sep 17 00:00:00 2001 From: Oliver Date: Wed, 8 Jan 2020 17:16:08 +0100 Subject: [PATCH] ANSI parser now also handles SGR 39 and 49. Fixes #347 --- ansi.go | 4 ++-- util.go | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ansi.go b/ansi.go index f84800c..a5b1aa8 100644 --- a/ansi.go +++ b/ansi.go @@ -146,12 +146,12 @@ func (a *ansi) Write(text []byte) (int, error) { colorNumber, _ := strconv.Atoi(field) foreground = lookupColor(colorNumber-30, false) case "39": - foreground = "default" + foreground = "-" case "40", "41", "42", "43", "44", "45", "46", "47": colorNumber, _ := strconv.Atoi(field) background = lookupColor(colorNumber-40, false) case "49": - background = "default" + background = "-" case "90", "91", "92", "93", "94", "95", "96", "97": colorNumber, _ := strconv.Atoi(field) foreground = lookupColor(colorNumber-90, true) diff --git a/util.go b/util.go index 267f794..810e0e1 100644 --- a/util.go +++ b/util.go @@ -125,8 +125,12 @@ func overlayStyle(background tcell.Color, defaultStyle tcell.Style, fgColor, bgC style := defaultStyle.Background(background) style = style.Foreground(defFg) - if fgColor != "" && fgColor != "-" { - style = style.Foreground(tcell.GetColor(fgColor)) + if fgColor != "" { + if fgColor == "-" { + style = style.Foreground(defFg) + } else { + style = style.Foreground(tcell.GetColor(fgColor)) + } } if bgColor == "-" || bgColor == "" && defBg != tcell.ColorDefault {