From: Christian Heller <c.heller@plomlompom.de>
Date: Fri, 30 May 2025 13:30:11 +0000 (+0200)
Subject: Move prompt command processing out of TuiLoop.
X-Git-Url: https://plomlompom.com/repos/%22https:/validator.w3.org/static/tasks?a=commitdiff_plain;h=e2880846c4486f73f9ffaff367204ff2d42179f7;p=ircplom
Move prompt command processing out of TuiLoop.
---
diff --git a/ircplom.py b/ircplom.py
index ddea13e..2e5defc 100755
--- a/ircplom.py
+++ b/ircplom.py
@@ -357,11 +357,7 @@ class TuiLoop(Loop):
self._draw_log()
elif event.type_ == 'INPUT_PROMPT':
if event.payload[0] == 'ENTER':
- toks = self._prompt.split(maxsplit=1)
- if toks and toks[0] in {'QUIT'}:
- self.broadcast('SEND', IrcMessage(toks[0], toks[1:]))
- else:
- self.broadcast('ALERT', f'invalid message: {self._prompt}')
+ self.broadcast('PROMPT_COMMAND', self._prompt)
self._prompt = ''
elif event.payload[0] == 'BACKSPACE':
self._prompt = self._prompt[:-1]
@@ -450,6 +446,15 @@ def run() -> None:
q_to_main.put(
Event('SEND',
IrcMessage('PONG', [msg.parameters[0]])))
+ elif event.type_ == 'PROMPT_COMMAND':
+ toks = event.payload.split(maxsplit=1)
+ if toks and toks[0] in {'QUIT'}:
+ q_to_main.put(
+ Event('SEND', IrcMessage(toks[0], toks[1:])))
+ else:
+ q_to_main.put(
+ Event('ALERT',
+ f'invalid message: {event.payload}'))
if __name__ == '__main__':