From ae0ae422418410623ed2889adc55deea960fe730 Mon Sep 17 00:00:00 2001 From: Johan Walles Date: Mon, 12 Aug 2024 20:43:10 +0200 Subject: [PATCH] Support parsing underline color escape sequences --- m/textstyles/ansiTokenizer.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/m/textstyles/ansiTokenizer.go b/m/textstyles/ansiTokenizer.go index acc93a0..00f2b75 100644 --- a/m/textstyles/ansiTokenizer.go +++ b/m/textstyles/ansiTokenizer.go @@ -511,6 +511,18 @@ func rawUpdateStyle(style twin.Style, escapeSequenceWithoutHeader string, number case 49: style = style.WithBackground(twin.ColorDefault) + case 58: + var err error + var color *twin.Color + index, color, err = consumeCompositeColor(numbersBuffer, index-1) + if err != nil { + return style, numbersBuffer, fmt.Errorf("Underline: %w", err) + } + style = style.WithUnderlineColor(*color) + + case 59: + style = style.WithUnderlineColor(twin.ColorDefault) + // Bright foreground colors: see https://pkg.go.dev/github.com/gdamore/Color // // After testing vs less and cat on iTerm2 3.3.9 / macOS Catalina