commit 1b15bf8

Hubert Hirtz  ·  2020-08-16 14:04:19 +0000 UTC
parent c066b0e
irc: Use typing constants
3 files changed,  +23, -16
M app.go
M app.go
+6, -6
 1@@ -135,16 +135,16 @@ func (app *App) handleIRCEvent(ev irc.Event) {
 2 
 3 		app.win.AddLine(ev.Channel, l, isHighlight)
 4 		app.win.TypingStop(ev.Channel, ev.Nick)
 5-	case irc.QueryTypingEvent:
 6-		if ev.State == 1 || ev.State == 2 {
 7+	case irc.QueryTagEvent:
 8+		if ev.Typing == irc.TypingActive || ev.Typing == irc.TypingPaused {
 9 			app.win.TypingStart(ui.Home, ev.Nick)
10-		} else {
11+		} else if ev.Typing == irc.TypingDone {
12 			app.win.TypingStop(ui.Home, ev.Nick)
13 		}
14-	case irc.ChannelTypingEvent:
15-		if ev.State == 1 || ev.State == 2 {
16+	case irc.ChannelTagEvent:
17+		if ev.Typing == irc.TypingActive || ev.Typing == irc.TypingPaused {
18 			app.win.TypingStart(ev.Channel, ev.Nick)
19-		} else {
20+		} else if ev.Typing == irc.TypingDone {
21 			app.win.TypingStop(ev.Channel, ev.Nick)
22 		}
23 	case irc.HistoryEvent:
+6, -6
 1@@ -60,16 +60,16 @@ type ChannelMessageEvent struct {
 2 	Time    time.Time
 3 }
 4 
 5-type QueryTypingEvent struct {
 6-	Nick  string
 7-	State int
 8-	Time  time.Time
 9+type QueryTagEvent struct {
10+	Nick   string
11+	Typing int
12+	Time   time.Time
13 }
14 
15-type ChannelTypingEvent struct {
16+type ChannelTagEvent struct {
17 	Nick    string
18 	Channel string
19-	State   int
20+	Typing  int
21 	Time    time.Time
22 }
23 
+11, -4
 1@@ -60,6 +60,13 @@ var SupportedCapabilities = map[string]struct{}{
 2 	"userhost-in-names": {},
 3 }
 4 
 5+const (
 6+	TypingUnspec = iota
 7+	TypingActive
 8+	TypingPaused
 9+	TypingDone
10+)
11+
12 type ConnectionState int
13 
14 const (
15@@ -681,14 +688,14 @@ func (s *Session) handle(msg Message) (err error) {
16 			break
17 		}
18 
19-		typing := 0
20+		typing := TypingUnspec
21 		if t, ok := msg.Tags["+typing"]; ok {
22 			if t == "active" {
23-				typing = 1
24+				typing = TypingActive
25 			} else if t == "paused" {
26-				typing = 2
27+				typing = TypingPaused
28 			} else if t == "done" {
29-				typing = 3
30+				typing = TypingDone
31 			}
32 		} else {
33 			break