commit f6ed228

Hubert Hirtz  ·  2020-08-01 16:03:26 +0000 UTC
parent 6d00e52
Show messages from self when echo-message is disabled
2 files changed,  +15, -2
+6, -2
 1@@ -188,7 +188,7 @@ func handleUIEvent(app *ui.UI, s *irc.Session, ev tcell.Event) {
 2 		case tcell.KeyEnter:
 3 			buffer := app.CurrentBuffer()
 4 			input := app.InputEnter()
 5-			handleInput(s, buffer, input)
 6+			handleInput(app, s, buffer, input)
 7 		case tcell.KeyRune:
 8 			app.InputRune(ev.Rune())
 9 			if app.CurrentBuffer() != "home" && !strings.HasPrefix(app.Input(), "/") {
10@@ -219,7 +219,7 @@ func parseCommand(s string) (command, args string) {
11 	return
12 }
13 
14-func handleInput(s *irc.Session, buffer, content string) {
15+func handleInput(app *ui.UI, s *irc.Session, buffer, content string) {
16 	cmd, args := parseCommand(content)
17 
18 	switch cmd {
19@@ -229,6 +229,10 @@ func handleInput(s *irc.Session, buffer, content string) {
20 		}
21 
22 		s.PrivMsg(buffer, args)
23+		if !s.HasCapability("echo-message") {
24+			line := formatIRCMessage(s.Nick(), args)
25+			app.AddLine(buffer, line, time.Now(), false)
26+		}
27 	case "QUOTE":
28 		s.SendRaw(args)
29 	case "J", "JOIN":
+9, -0
 1@@ -220,6 +220,15 @@ func (s *Session) Poll() (events <-chan Event) {
 2 	return s.evts
 3 }
 4 
 5+func (s *Session) HasCapability(capability string) bool {
 6+	_, ok := s.enabledCaps[capability]
 7+	return ok
 8+}
 9+
10+func (s *Session) Nick() string {
11+	return s.nick
12+}
13+
14 func (s *Session) IsChannel(name string) bool {
15 	return strings.IndexAny(name, "#&") == 0 // TODO compute CHANTYPES
16 }