From e2880846c4486f73f9ffaff367204ff2d42179f7 Mon Sep 17 00:00:00 2001 From: Christian Heller Date: Fri, 30 May 2025 15:30:11 +0200 Subject: [PATCH] Move prompt command processing out of TuiLoop. --- ircplom.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) 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__': -- 2.30.2