diff options
author | delthas <delthas@dille.cc> | 2022-03-29 19:23:36 +0200 |
---|---|---|
committer | delthas <delthas@dille.cc> | 2022-04-12 18:01:39 +0200 |
commit | 7a86dff763bff9dcf1ddb14a5db4bd590c13af4a (patch) | |
tree | 8b1ab4534297f959c3611bca376e36322211d49d /irc/tokens.go | |
parent | Add a 15s keepalive to connections (diff) |
Implement SEARCH
Also refactor ui/ to support overlays, temporary anonmyous buffers.
See: https://github.com/emersion/soju/pull/39
Diffstat (limited to 'irc/tokens.go')
-rw-r--r-- | irc/tokens.go | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/irc/tokens.go b/irc/tokens.go index aaffc08..7bcde99 100644 --- a/irc/tokens.go +++ b/irc/tokens.go @@ -150,6 +150,19 @@ func parseTags(s string) (tags map[string]string) { return } +func formatTags(tags map[string]string) string { + var sb strings.Builder + for k, v := range tags { + sb.WriteString(k) + if v != "" { + sb.WriteRune('=') + sb.WriteString(escapeTagValue(v)) + } + sb.WriteRune(';') + } + return sb.String() +} + var ( errEmptyMessage = errors.New("empty message") errIncompleteMessage = errors.New("message is incomplete") @@ -306,14 +319,7 @@ func (msg *Message) String() string { if msg.Tags != nil { sb.WriteRune('@') - for k, v := range msg.Tags { - sb.WriteString(k) - if v != "" { - sb.WriteRune('=') - sb.WriteString(escapeTagValue(v)) - } - sb.WriteRune(';') - } + sb.WriteString(formatTags(msg.Tags)) sb.WriteRune(' ') } |