Add better stringification for UI message types for debugging
This commit is contained in:
parent
abd21affc4
commit
43a7bdab72
@ -197,7 +197,7 @@ func (view *MessageView) replaceBuffer(original messages.UIMessage, new messages
|
|||||||
}
|
}
|
||||||
|
|
||||||
if start == -1 {
|
if start == -1 {
|
||||||
debug.Print("Called replaceBuffer() with message that was not in the buffer:", original.ID())
|
debug.Print("Called replaceBuffer() with message that was not in the buffer:", original)
|
||||||
debug.PrintStack()
|
debug.PrintStack()
|
||||||
view.appendBuffer(new)
|
view.appendBuffer(new)
|
||||||
return
|
return
|
||||||
|
@ -18,6 +18,7 @@ package messages
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"maunium.net/go/gomuks/config"
|
"maunium.net/go/gomuks/config"
|
||||||
@ -286,3 +287,17 @@ func (msg *BaseMessage) DrawReply(screen mauview.Screen) mauview.Screen {
|
|||||||
msg.ReplyTo.Draw(replyScreen)
|
msg.ReplyTo.Draw(replyScreen)
|
||||||
return mauview.NewProxyScreen(screen, 0, replyHeight+2, width, height-replyHeight-2)
|
return mauview.NewProxyScreen(screen, 0, replyHeight+2, width, height-replyHeight-2)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (msg *BaseMessage) String() string {
|
||||||
|
return fmt.Sprintf(`&messages.BaseMessage{
|
||||||
|
ID="%s", TxnID="%s",
|
||||||
|
Type="%s", Timestamp=%s,
|
||||||
|
Sender={ID="%s", Name="%s", Color=#%X},
|
||||||
|
IsService=%t, IsHighlight=%t,
|
||||||
|
}`,
|
||||||
|
msg.MsgID, msg.MsgTxnID,
|
||||||
|
msg.MsgType, msg.MsgTimestamp.String(),
|
||||||
|
msg.MsgSenderID, msg.MsgSender, msg.MsgSenderColor.Hex(),
|
||||||
|
msg.MsgIsService, msg.MsgIsHighlight,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
@ -78,7 +78,7 @@ func (be *BaseEntity) PlainText() string {
|
|||||||
|
|
||||||
// String returns a textual representation of this BaseEntity struct.
|
// String returns a textual representation of this BaseEntity struct.
|
||||||
func (be *BaseEntity) String() string {
|
func (be *BaseEntity) String() string {
|
||||||
return fmt.Sprintf(`&html.BaseEntity{Tag="%s", Style=%d, Block=%t, startX=%d, height=%d},`,
|
return fmt.Sprintf(`&html.BaseEntity{Tag="%s", Style=%d, Block=%t, startX=%d, height=%d}`,
|
||||||
be.Tag, be.Style, be.Block, be.startX, be.height)
|
be.Tag, be.Style, be.Block, be.startX, be.height)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,12 +84,13 @@ func (ce *ContainerEntity) String() string {
|
|||||||
return fmt.Sprintf(`&html.ContainerEntity{Base=%s, Indent=%d, Children=[]}`, ce.BaseEntity, ce.Indent)
|
return fmt.Sprintf(`&html.ContainerEntity{Base=%s, Indent=%d, Children=[]}`, ce.BaseEntity, ce.Indent)
|
||||||
}
|
}
|
||||||
var buf strings.Builder
|
var buf strings.Builder
|
||||||
_, _ = fmt.Fprintf(&buf, `&html.ContainerEntity{Base=%s, Indent=%d, Children=[`, ce.BaseEntity, ce.Indent)
|
_, _ = fmt.Fprintf(&buf, `&html.ContainerEntity{Base=%s,
|
||||||
|
Indent=%d, Children=[`, ce.BaseEntity, ce.Indent)
|
||||||
for _, child := range ce.Children {
|
for _, child := range ce.Children {
|
||||||
buf.WriteString("\n ")
|
buf.WriteString("\n ")
|
||||||
buf.WriteString(strings.Join(strings.Split(strings.TrimRight(child.String(), "\n"), "\n"), "\n "))
|
buf.WriteString(strings.Join(strings.Split(strings.TrimRight(child.String(), "\n"), "\n"), "\n "))
|
||||||
}
|
}
|
||||||
buf.WriteString("\n]}\n,")
|
buf.WriteString("\n]},")
|
||||||
return buf.String()
|
return buf.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -17,6 +17,9 @@
|
|||||||
package messages
|
package messages
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"maunium.net/go/mautrix"
|
"maunium.net/go/mautrix"
|
||||||
"maunium.net/go/mauview"
|
"maunium.net/go/mauview"
|
||||||
"maunium.net/go/tcell"
|
"maunium.net/go/tcell"
|
||||||
@ -98,3 +101,10 @@ func (hw *HTMLMessage) PlainText() string {
|
|||||||
func (hw *HTMLMessage) NotificationContent() string {
|
func (hw *HTMLMessage) NotificationContent() string {
|
||||||
return hw.Root.PlainText()
|
return hw.Root.PlainText()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (hw *HTMLMessage) String() string {
|
||||||
|
return fmt.Sprintf("&messages.HTMLMessage{\n" +
|
||||||
|
" Base=%s,\n" +
|
||||||
|
" Root=||\n%s\n" +
|
||||||
|
"}", strings.ReplaceAll(hw.BaseMessage.String(), "\n", "\n "), hw.Root.String())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user