From 182965fd810da9577b235462cb3648a9f7716dc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C5=BEe=20Pe=C4=8Dar?= Date: Thu, 18 Jan 2024 09:37:39 +0000 Subject: [PATCH] Simplify on_key even further --- src/django_tui/management/commands/ish.py | 35 +++++++---------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/src/django_tui/management/commands/ish.py b/src/django_tui/management/commands/ish.py index cdb58db..e4ae689 100644 --- a/src/django_tui/management/commands/ish.py +++ b/src/django_tui/management/commands/ish.py @@ -147,31 +147,16 @@ class ExtendedTextArea(TextArea): """A subclass of TextArea with parenthesis-closing functionality.""" def _on_key(self, event: events.Key) -> None: - chars = [ - { - "char":"(", - "closing":")" - }, - { - "char":"{", - "closing":"}" - }, - { - "char":"[", - "closing":"]" - }, - { - "char":"'", - "closing":"'" - }, - { - "char":'"', - "closing":'"' - }, - ] - event_char_list = list(filter(lambda item: item["char"] == event.character, chars)) - if len(event_char_list) > 0: - self.insert(f"{event_char_list[0]['char']}{event_char_list[0]['closing']}") + auto_close_chars = { + "(": ")", + "{": "}", + "[": "]", + "'": "'", + '"': '"', + } + closing_char = auto_close_chars.get(event.character) + if closing_char: + self.insert(f"{event.character}{closing_char}") self.move_cursor_relative(columns=-1) event.prevent_default()