diff options
author | Tulir Asokan <tulir@maunium.net> | 2018-05-27 14:49:46 +0300 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2018-05-27 14:51:16 +0300 |
commit | b63c451706ab2cec003689e2e8047af737fb1b1c (patch) | |
tree | b0ec45cdb42e575f6e54e5cb0c76dfceecbaba2e | |
parent | c9e138c5e8e589efa82e2b3cad189806dc35d981 (diff) |
Fix m.emote messages in bare message views
-rw-r--r-- | ui/message-view.go | 8 | ||||
-rw-r--r-- | ui/messages/textbase.go | 12 |
2 files changed, 15 insertions, 5 deletions
diff --git a/ui/message-view.go b/ui/message-view.go index de8e412..9bd1795 100644 --- a/ui/message-view.go +++ b/ui/message-view.go @@ -469,7 +469,13 @@ func (view *MessageView) CapturePlaintext(height int) string { meta := view.metaBuffer[index] message, ok := meta.(messages.UIMessage) if ok && message != prevMessage { - fmt.Fprintf(&buf, "%s <%s> %s\n", message.FormatTime(), message.Sender(), message.PlainText()) + var sender string + if len(message.Sender()) > 0 { + sender = fmt.Sprintf(" <%s>", message.Sender()) + } else if message.Type() == "m.emote" { + sender = fmt.Sprintf(" * %s", message.RealSender()) + } + fmt.Fprintf(&buf, "%s%s %s\n", message.FormatTime(), sender, message.PlainText()) prevMessage = message } } diff --git a/ui/messages/textbase.go b/ui/messages/textbase.go index faf53e6..9f34683 100644 --- a/ui/messages/textbase.go +++ b/ui/messages/textbase.go @@ -58,10 +58,14 @@ func (msg *BaseMessage) calculateBufferWithText(bare bool, text tstring.TString, msg.buffer = []tstring.TString{} if bare { - text = tstring. - NewTString(msg.FormatTime()). - AppendTString(tstring.NewColorTString(fmt.Sprintf(" <%s> ", msg.Sender()), msg.SenderColor())). - AppendTString(text) + newText := tstring.NewTString(msg.FormatTime()) + if len(msg.Sender()) > 0 { + newText = newText.AppendTString(tstring.NewColorTString(fmt.Sprintf(" <%s> ", msg.Sender()), msg.SenderColor())) + } else { + newText = newText.Append(" ") + } + newText = newText.AppendTString(text) + text = newText } forcedLinebreaks := text.Split('\n') |