diff options
author | Tulir Asokan <tulir@maunium.net> | 2018-04-14 00:34:25 +0300 |
---|---|---|
committer | Tulir Asokan <tulir@maunium.net> | 2018-04-14 00:34:25 +0300 |
commit | e7bf5bd59fc0a43172b6ab5b338e1d60bd4b3bbb (patch) | |
tree | 67aacbe31ba2d95fd7a648254f5173d7f46b4dc1 /ui/messages/parser.go | |
parent | 69c163cfe9d353060896403a3e844848d4fd54eb (diff) |
Add basic HTML rendering (ref #16)
Diffstat (limited to 'ui/messages/parser.go')
-rw-r--r-- | ui/messages/parser.go | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/ui/messages/parser.go b/ui/messages/parser.go index 263bced..d8069c6 100644 --- a/ui/messages/parser.go +++ b/ui/messages/parser.go @@ -56,8 +56,14 @@ func ParseMessage(gmx ifc.Gomuks, evt *gomatrix.Event) UIMessage { ts := unixToTime(evt.Timestamp) switch msgtype { case "m.text", "m.notice", "m.emote": - text, _ := evt.Content["body"].(string) - return NewTextMessage(evt.ID, evt.Sender, msgtype, text, ts) + format, hasFormat := evt.Content["format"].(string) + if hasFormat && format == "org.matrix.custom.html" { + text := ParseHTMLMessage(evt) + return NewExpandedTextMessage(evt.ID, evt.Sender, msgtype, text, ts) + } else { + text, _ := evt.Content["body"].(string) + return NewTextMessage(evt.ID, evt.Sender, msgtype, text, ts) + } case "m.image": url, _ := evt.Content["url"].(string) data, hs, id, err := gmx.Matrix().Download(url) |