diff --git a/src/ansi.go b/src/ansi.go index 427f7f4..f8fe56a 100644 --- a/src/ansi.go +++ b/src/ansi.go @@ -143,15 +143,17 @@ func interpretCode(ansiCode string, prevState *ansiState) *ansiState { case 49: state.bg = -1 case 1: - state.attr = tui.Bold + state.attr = state.attr | tui.Bold case 2: - state.attr = tui.Dim + state.attr = state.attr | tui.Dim + case 3: + state.attr = state.attr | tui.Italic case 4: - state.attr = tui.Underline + state.attr = state.attr | tui.Underline case 5: - state.attr = tui.Blink + state.attr = state.attr | tui.Blink case 7: - state.attr = tui.Reverse + state.attr = state.attr | tui.Reverse case 0: init() default: diff --git a/src/tui/ncurses.go b/src/tui/ncurses.go index ac75513..6e9ddb4 100644 --- a/src/tui/ncurses.go +++ b/src/tui/ncurses.go @@ -30,7 +30,7 @@ import ( ) type ColorPair int16 -type Attr C.int +type Attr C.uint type WindowImpl C.WINDOW const ( @@ -39,6 +39,7 @@ const ( Blink = C.A_BLINK Reverse = C.A_REVERSE Underline = C.A_UNDERLINE + Italic = C.A_VERTICAL << 1 // FIXME ) const ( diff --git a/src/tui/tcell.go b/src/tui/tcell.go index efa112a..3fe1161 100644 --- a/src/tui/tcell.go +++ b/src/tui/tcell.go @@ -48,6 +48,7 @@ const ( Blink = Attr(tcell.AttrBlink) Reverse = Attr(tcell.AttrReverse) Underline = Attr(tcell.AttrUnderline) + Italic = Attr(tcell.AttrNone) // Not supported ) const (