Add support for ANSI strike-through (#2932)

Close #2932

Co-authored-by: Emil Vanherp <emil@vanherp.me>
This commit is contained in:
Emil Vanherp
2022-08-20 23:23:03 +02:00
committed by Junegunn Choi
parent 8a5f719964
commit 4bef330ce1
10 changed files with 57 additions and 29 deletions

View File

@@ -55,6 +55,9 @@ func (s *ansiState) ToString() string {
if s.attr&tui.Reverse > 0 {
ret += "7;"
}
if s.attr&tui.StrikeThrough > 0 {
ret += "9;"
}
ret += toAnsiString(s.fg, 30) + toAnsiString(s.bg, 40)
return "\x1b[" + strings.TrimSuffix(ret, ";") + "m"
@@ -376,6 +379,8 @@ func interpretCode(ansiCode string, prevState *ansiState) ansiState {
state.attr = state.attr | tui.Blink
case 7:
state.attr = state.attr | tui.Reverse
case 9:
state.attr = state.attr | tui.StrikeThrough
case 23: // tput rmso
state.attr = state.attr &^ tui.Italic
case 24: // tput rmul