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 {