Skip to content

Commit 2037498

Browse files
committed
refactor to simplify
1 parent 47c28a0 commit 2037498

File tree

1 file changed

+10
-7
lines changed

1 file changed

+10
-7
lines changed

src/textual/app.py

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3698,6 +3698,13 @@ def action_help_quit(self) -> None:
36983698
)
36993699
return
37003700

3701+
@classmethod
3702+
def _normalize_keymap(cls, keymap: Keymap) -> Keymap:
3703+
"""Normalizes the keys in a keymap, so they use long form, i.e. "question_mark" rather than "?"."""
3704+
return {
3705+
binding_id: _normalize_key_list(keys) for binding_id, keys in keymap.items()
3706+
}
3707+
37013708
def set_keymap(self, keymap: Keymap) -> None:
37023709
"""Set the keymap, a mapping of binding IDs to key strings.
37033710
@@ -3711,9 +3718,7 @@ def set_keymap(self, keymap: Keymap) -> None:
37113718
keymap: A mapping of binding IDs to key strings.
37123719
"""
37133720

3714-
self._keymap = {
3715-
binding_id: _normalize_key_list(keys) for binding_id, keys in keymap.items()
3716-
}
3721+
self._keymap = self._normalize_keymap(keymap)
37173722
self.refresh_bindings()
37183723

37193724
def update_keymap(self, keymap: Keymap) -> None:
@@ -3725,10 +3730,8 @@ def update_keymap(self, keymap: Keymap) -> None:
37253730
Args:
37263731
keymap: A mapping of binding IDs to key strings.
37273732
"""
3728-
keymap = {
3729-
binding_id: _normalize_key_list(keys) for binding_id, keys in keymap.items()
3730-
}
3731-
self._keymap = {**self._keymap, **keymap}
3733+
3734+
self._keymap = {**self._keymap, **self._normalize_keymap(keymap)}
37323735
self.refresh_bindings()
37333736

37343737
def handle_bindings_clash(

0 commit comments

Comments
 (0)