diff options
Diffstat (limited to 'ui/messages')
-rw-r--r-- | ui/messages/htmlmessage.go | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/ui/messages/htmlmessage.go b/ui/messages/htmlmessage.go index 5b95a82..f3295b2 100644 --- a/ui/messages/htmlmessage.go +++ b/ui/messages/htmlmessage.go @@ -29,6 +29,7 @@ import ( type HTMLMessage struct { Root html.Entity FocusedBg tcell.Color + TextColor tcell.Color focused bool } @@ -49,7 +50,16 @@ func (hw *HTMLMessage) Clone() MessageRenderer { func (hw *HTMLMessage) Draw(screen mauview.Screen) { if hw.focused { - screen.SetStyle(tcell.StyleDefault.Background(hw.FocusedBg)) + screen.SetStyle(tcell.StyleDefault.Background(hw.FocusedBg).Foreground(hw.TextColor)) + } + if hw.TextColor != tcell.ColorDefault { + hw.Root.AdjustStyle(func(style tcell.Style) tcell.Style { + fg, _, _ := style.Decompose() + if fg == tcell.ColorDefault { + return style.Foreground(hw.TextColor) + } + return style + }) } screen.Clear() hw.Root.Draw(screen) @@ -81,6 +91,7 @@ func (hw *HTMLMessage) CalculateBuffer(preferences config.UserPreferences, width } // TODO account for bare messages in initial startX startX := 0 + hw.TextColor = msg.TextColor() hw.Root.CalculateBuffer(width, startX, preferences.BareMessageView) } |