From 7f1c371b6e6d230c4d3e36b662fa8007bf2a0949 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 25 Jan 2024 09:00:46 +0530 Subject: [PATCH] DRYer --- kitty/debug_config.py | 2 +- kitty/options/utils.py | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/kitty/debug_config.py b/kitty/debug_config.py index 7eed7a080..d765ce096 100644 --- a/kitty/debug_config.py +++ b/kitty/debug_config.py @@ -113,7 +113,7 @@ def compare_opts(opts: KittyOpts, print: Print) -> None: seen = set() uniq = [] for d in reversed(defns): - key = d.full_key_sequence_to_trigger, d.options.when_focus_on + key = d.unique_identity_within_keymap if key not in seen: seen.add(key) uniq.append(d) diff --git a/kitty/options/utils.py b/kitty/options/utils.py index 200a21d9d..c070d32d9 100644 --- a/kitty/options/utils.py +++ b/kitty/options/utils.py @@ -1211,6 +1211,10 @@ class KeyDefinition(BaseDefinition): def full_key_sequence_to_trigger(self) -> Tuple[SingleKey, ...]: return (self.trigger,) + self.rest + @property + def unique_identity_within_keymap(self) -> Tuple[Tuple[SingleKey, ...], str]: + return self.full_key_sequence_to_trigger, self.options.when_focus_on + def __repr__(self) -> str: return self.pretty_repr('is_sequence', 'trigger', 'rest', 'options')