From 232f4d469b67d746b9db067c0c73686dac87e938 Mon Sep 17 00:00:00 2001 From: ludmila-lovelace Date: Mon, 12 May 2025 02:30:46 +1000 Subject: [PATCH] fix: close rather than clear style tags (#541) --- cmd/messages_text.go | 13 +++++++------ internal/markdown/renderer.go | 15 +++++++++++++-- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/cmd/messages_text.go b/cmd/messages_text.go index ddc2bc4..9a9ec4b 100644 --- a/cmd/messages_text.go +++ b/cmd/messages_text.go @@ -143,13 +143,13 @@ func (mt *MessagesText) createMsg(msg discord.Message) { func (mt *MessagesText) drawTimestamps(ts discord.Timestamp) { time := ts.Time().In(time.Local).Format(mt.cfg.Timestamps.Format) - fmt.Fprintf(mt, "[::d]%s[::-] ", time) + fmt.Fprintf(mt, "[::d]%s[::D] ", time) } func (mt *MessagesText) drawAuthor(msg discord.Message) { name := mt.authorName(msg.Author, msg.GuildID) color := mt.authorColor(msg.Author, msg.GuildID) - fmt.Fprintf(mt, "[%s]%s[-:-:-] ", color, name) + fmt.Fprintf(mt, "[%s]%s[-] ", color, name) } func (mt *MessagesText) drawContent(msg discord.Message) { @@ -167,7 +167,7 @@ func (mt *MessagesText) createDefaultMsg(msg discord.Message) { mt.drawContent(msg) if msg.EditedTimestamp.IsValid() { - io.WriteString(mt, " [::d](edited)[::-]") + io.WriteString(mt, " [::d](edited)[::D]") } for _, a := range msg.Attachments { @@ -183,9 +183,10 @@ func (mt *MessagesText) createDefaultMsg(msg discord.Message) { func (mt *MessagesText) createReplyMsg(msg discord.Message) { // reply fmt.Fprintf(mt, "[::d]%s ", mt.cfg.Theme.MessagesText.ReplyIndicator) - if msg.ReferencedMessage != nil { - mt.drawAuthor(*msg.ReferencedMessage) - mt.drawContent(*msg.ReferencedMessage) + if refMsg := msg.ReferencedMessage; refMsg != nil { + refMsg.GuildID = msg.GuildID + mt.drawAuthor(*refMsg) + mt.drawContent(*refMsg) } io.WriteString(mt, tview.NewLine) diff --git a/internal/markdown/renderer.go b/internal/markdown/renderer.go index d7b6694..781e3e1 100644 --- a/internal/markdown/renderer.go +++ b/internal/markdown/renderer.go @@ -86,7 +86,18 @@ func (r *renderer) Render(w io.Writer, source []byte, n ast.Node) error { io.WriteString(w, "[::r]") } } else { - io.WriteString(w, "[::-]") + switch n.Attr { + case discordmd.AttrBold: + io.WriteString(w, "[::B]") + case discordmd.AttrItalics: + io.WriteString(w, "[::I]") + case discordmd.AttrUnderline: + io.WriteString(w, "[::U]") + case discordmd.AttrStrikethrough: + io.WriteString(w, "[::S]") + case discordmd.AttrMonospace: + io.WriteString(w, "[::R]") + } } case *discordmd.Mention: if entering { @@ -105,7 +116,7 @@ func (r *renderer) Render(w io.Writer, source []byte, n ast.Node) error { io.WriteString(w, "@"+n.GuildRole.Name) } } else { - io.WriteString(w, "[::-]") + io.WriteString(w, "[::B]") } case *discordmd.Emoji: if entering {