diff --git a/internal/config/theme.go b/internal/config/theme.go index 9bea7a2..193c22d 100644 --- a/internal/config/theme.go +++ b/internal/config/theme.go @@ -41,6 +41,9 @@ func (sw *StyleWrapper) UnmarshalTOML(v any) error { return errInvalidType } + // Reset on new styles + sw.Style = tcell.StyleDefault + for key, val := range m { switch key { case "foreground": diff --git a/internal/markdown/renderer.go b/internal/markdown/renderer.go index d30c920..a2ca2f2 100644 --- a/internal/markdown/renderer.go +++ b/internal/markdown/renderer.go @@ -76,8 +76,7 @@ func (r *Renderer) RenderLines(source []byte, node ast.Node, base tcell.Style) [ } case *ast.AutoLink: if entering { - style := ui.MergeStyle(currentStyle(), theme.URLStyle.Style) - builder.Write(string(node.URL(source)), style) + builder.Write(string(node.URL(source)), ui.MergeStyle(currentStyle(), theme.URLStyle.Style)) } case *ast.Link: if entering { @@ -119,14 +118,11 @@ func (r *Renderer) RenderLines(source []byte, node ast.Node, base tcell.Style) [ } case *discordmd.Mention: if entering { - style := ui.MergeStyle(currentStyle(), theme.MentionStyle.Style) - style = style.Bold(true) - builder.Write(mentionText(node), style) + builder.Write(mentionText(node), ui.MergeStyle(currentStyle(), theme.MentionStyle.Style)) } case *discordmd.Emoji: if entering { - style := ui.MergeStyle(currentStyle(), theme.EmojiStyle.Style) - builder.Write(":"+node.Name+":", style) + builder.Write(":"+node.Name+":", ui.MergeStyle(currentStyle(), theme.EmojiStyle.Style)) } } return ast.WalkContinue, nil