INPUT_PROMPT = ':'
KEYBINDINGS = {
- 'KEY_BACKSPACE': 'prompt_backspace',
- 'KEY_ENTER': 'prompt_enter',
- 'KEY_PGUP': 'scroll_up',
- 'KEY_PGDOWN': 'scroll_down',
+ 'KEY_BACKSPACE': ('prompt_backspace',),
+ 'KEY_ENTER': ('prompt_enter',),
+ 'KEY_PGUP': ('scroll', 'up'),
+ 'KEY_PGDOWN': ('scroll', 'down'),
}
IRCSPEC_LINE_SEPARATOR = b'\r\n'
self._logs[1].append(f'-> {event.payload.raw}')
self._draw_log()
elif event.type_ == 'KEYBINDING':
- getattr(self, f'_cmd__{event.payload}')()
+ getattr(self, f'_cmd__{event.payload[0]}')(*event.payload[1:])
elif event.type_ == 'INPUT_CHAR':
self._prompt += event.payload
self._draw_prompt()
self._prompt = ''
self._draw_prompt()
- def _cmd__scroll_up(self) -> None:
- self._log.scroll()
- self._draw_log()
-
- def _cmd__scroll_down(self) -> None:
- self._log.scroll(up=False)
+ def _cmd__scroll(self, direction: str) -> None:
+ self._log.scroll(up=direction == 'up')
self._draw_log()
def _cmd__disconnect(self, quit_msg: str = 'ircplom says bye') -> None: