From 33d0c08ffe834439bf5146660089d6ceeac8fdee Mon Sep 17 00:00:00 2001 From: Andrey Petrov Date: Fri, 15 Mar 2019 16:20:13 -0400 Subject: [PATCH] chat/message: Add PublicMsg.RenderSelf(...) to support old-style formatting --- chat/message/message.go | 6 ++++++ chat/message/user.go | 6 +++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/chat/message/message.go b/chat/message/message.go index 5b4f76a..143096a 100644 --- a/chat/message/message.go +++ b/chat/message/message.go @@ -112,6 +112,7 @@ func (m PublicMsg) Render(t *Theme) string { return fmt.Sprintf("%s: %s", t.ColorName(m.from), m.body) } +// RenderFor renders the message for other users to see. func (m PublicMsg) RenderFor(cfg UserConfig) string { if cfg.Highlight == nil || cfg.Theme == nil { return m.Render(cfg.Theme) @@ -128,6 +129,11 @@ func (m PublicMsg) RenderFor(cfg UserConfig) string { return fmt.Sprintf("%s: %s", cfg.Theme.ColorName(m.from), body) } +// RenderSelf renders the message for when it's echoing your own message. +func (m PublicMsg) RenderSelf(cfg UserConfig) string { + return fmt.Sprintf("[%s] %s", cfg.Theme.ColorName(m.from), m.body) +} + func (m PublicMsg) String() string { return fmt.Sprintf("%s: %s", m.from.Name(), m.body) } diff --git a/chat/message/user.go b/chat/message/user.go index 807d1f4..f8cebf4 100644 --- a/chat/message/user.go +++ b/chat/message/user.go @@ -161,7 +161,11 @@ func (u *User) render(m Message) string { var out string switch m := m.(type) { case PublicMsg: - out += m.RenderFor(cfg) + if u == m.From() { + out += m.RenderSelf(cfg) + } else { + out += m.RenderFor(cfg) + } case *PrivateMsg: out += m.Render(cfg.Theme) if cfg.Bell {