From 7727cd45cf5414742e0534ab789c4fcead04651e Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 15 Feb 2024 13:42:10 +0530 Subject: [PATCH] Delay load replacements as well --- kitty/search_query_parser.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/kitty/search_query_parser.py b/kitty/search_query_parser.py index 54b1b289a..9bf271431 100644 --- a/kitty/search_query_parser.py +++ b/kitty/search_query_parser.py @@ -126,7 +126,11 @@ def lex_scanner() -> Callable[[str], Tuple[List[Token], str]]: (r'".*?((? Tuple[Tuple[str, str], ...]: + return tuple(('\\' + x, chr(i + 1)) for i, x in enumerate('\\"()')) class NoLocation(ParseException): @@ -176,12 +180,12 @@ class Parser: def tokenize(self, expr: str) -> List[Token]: # Strip out escaped backslashes, quotes and parens so that the # lex scanner doesn't get confused. We put them back later. - for k, v in REPLACEMENTS: + for k, v in replacements(): expr = expr.replace(k, v) tokens = lex_scanner()(expr)[0] def unescape(x: str) -> str: - for k, v in REPLACEMENTS: + for k, v in replacements(): x = x.replace(v, k[1:]) return x