mirror of
https://github.com/gissleh/irc.git
synced 2026-09-29 00:05:34 +00:00
Renamed Event.Kill to Event.PreventDefault
This commit is contained in:
@@ -548,7 +548,7 @@ func (client *Client) handleEventLoop() {
|
||||
emit(event, client)
|
||||
|
||||
// Turn an unhandled input into a raw command.
|
||||
if event.kind == "input" && !event.Killed() {
|
||||
if event.kind == "input" && !event.preventedDefault {
|
||||
client.SendQueued(strings.ToUpper(event.verb) + " " + event.Text)
|
||||
}
|
||||
|
||||
|
||||
@@ -21,10 +21,10 @@ type Event struct {
|
||||
Text string
|
||||
Tags map[string]string
|
||||
|
||||
ctx context.Context
|
||||
cancel context.CancelFunc
|
||||
killed bool
|
||||
hidden bool
|
||||
ctx context.Context
|
||||
cancel context.CancelFunc
|
||||
preventedDefault bool
|
||||
hidden bool
|
||||
|
||||
targets []Target
|
||||
targetIds map[Target]string
|
||||
@@ -89,18 +89,13 @@ func (event *Event) Context() context.Context {
|
||||
return event.ctx
|
||||
}
|
||||
|
||||
// Kill stops propagation of the event. The context will be killed once
|
||||
// PreventDefault stops propagation of the event. The context will be killed once
|
||||
// the current event handler returns.
|
||||
//
|
||||
// A use case for this is to prevent the default input handler from firing
|
||||
// on an already prcoessed input event.
|
||||
func (event *Event) Kill() {
|
||||
event.killed = true
|
||||
}
|
||||
|
||||
// Killed returns true if Kill has been called.
|
||||
func (event *Event) Killed() bool {
|
||||
return event.killed
|
||||
func (event *Event) PreventDefault() {
|
||||
event.preventedDefault = true
|
||||
}
|
||||
|
||||
// Hide will not stop propagation, but it will allow output handlers to know not to
|
||||
|
||||
@@ -17,9 +17,6 @@ func emit(event *Event, client *Client) {
|
||||
eventHandler.mutex.RLock()
|
||||
for _, handler := range eventHandler.handlers {
|
||||
handler(event, client)
|
||||
if event.killed {
|
||||
break
|
||||
}
|
||||
}
|
||||
eventHandler.mutex.RUnlock()
|
||||
}
|
||||
|
||||
+5
-5
@@ -12,7 +12,7 @@ func Input(event *irc.Event, client *irc.Client) {
|
||||
// /msg sends an action to a target specified before the message.
|
||||
case "input.msg":
|
||||
{
|
||||
event.Kill()
|
||||
event.PreventDefault()
|
||||
|
||||
targetName, text := ircutil.ParseArgAndText(event.Text)
|
||||
if targetName == "" || text == "" {
|
||||
@@ -30,7 +30,7 @@ func Input(event *irc.Event, client *irc.Client) {
|
||||
// /text (or text without a command) sends a message to the target.
|
||||
case "input.text":
|
||||
{
|
||||
event.Kill()
|
||||
event.PreventDefault()
|
||||
|
||||
if event.Text == "" {
|
||||
client.EmitNonBlocking(irc.NewErrorEvent("input", "Usage: /text <text...>"))
|
||||
@@ -53,7 +53,7 @@ func Input(event *irc.Event, client *irc.Client) {
|
||||
// /me and /action sends a CTCP ACTION.
|
||||
case "input.me", "input.action":
|
||||
{
|
||||
event.Kill()
|
||||
event.PreventDefault()
|
||||
|
||||
if event.Text == "" {
|
||||
client.EmitNonBlocking(irc.NewErrorEvent("input", "Usage: /me <text...>"))
|
||||
@@ -76,7 +76,7 @@ func Input(event *irc.Event, client *irc.Client) {
|
||||
// /describe sends an action to a target specified before the message, like /msg.
|
||||
case "input.describe":
|
||||
{
|
||||
event.Kill()
|
||||
event.PreventDefault()
|
||||
|
||||
targetName, text := ircutil.ParseArgAndText(event.Text)
|
||||
if targetName == "" || text == "" {
|
||||
@@ -94,7 +94,7 @@ func Input(event *irc.Event, client *irc.Client) {
|
||||
// /m is a shorthand for /mode that targets the current channel
|
||||
case "input.m":
|
||||
{
|
||||
event.Kill()
|
||||
event.PreventDefault()
|
||||
|
||||
if event.Text == "" {
|
||||
client.EmitNonBlocking(irc.NewErrorEvent("input", "Usage: /m <text...>"))
|
||||
|
||||
@@ -60,7 +60,7 @@ func MRoleplay(event *irc.Event, client *irc.Client) {
|
||||
client.SendQueuedf("%s %s %s :%s", npcCommand, channel.Name(), nick, cut)
|
||||
}
|
||||
|
||||
event.Kill()
|
||||
event.PreventDefault()
|
||||
}
|
||||
case "input.scenec":
|
||||
{
|
||||
@@ -81,7 +81,7 @@ func MRoleplay(event *irc.Event, client *irc.Client) {
|
||||
client.SendQueuedf("SCENE %s :%s", channel.Name(), cut)
|
||||
}
|
||||
|
||||
event.Kill()
|
||||
event.PreventDefault()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user