From d5ab4169f0ec9d0325c73e0c20f9929b29127b3e Mon Sep 17 00:00:00 2001 From: tretrauit Date: Sun, 14 Jan 2024 19:37:30 +0700 Subject: [PATCH] fix(katana): regex --- swordfish/src/katana.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/swordfish/src/katana.rs b/swordfish/src/katana.rs index 1c0c6f3..3fe6fbe 100644 --- a/swordfish/src/katana.rs +++ b/swordfish/src/katana.rs @@ -16,6 +16,7 @@ use tokio::time::Instant; const ALLOWED_CHARS: [char; 14] = [ ' ', '-', '.', '!', ':', '(', ')', '\'', '/', '\'', '@', '&', '_', 'é', ]; +const REGEX_CHARS: [char; 4] = ['[', ']', ')', '(']; const CARD_NAME_X_OFFSET: u32 = 22; const CARD_NAME_Y_OFFSET: u32 = 28; const CARD_NAME_WIDTH: u32 = 202 - CARD_NAME_X_OFFSET; @@ -266,9 +267,9 @@ fn regexify_text(text: &String) -> String { regex.push_str("(?=.*"); let processed_word = word.to_lowercase(); if partial_match && processed_word.len() > 4 { - if !processed_word[0..3].contains(|c: char| ['[', ']'].contains(&c)) + if !processed_word[0..3].contains(|c: char| REGEX_CHARS.contains(&c)) && !processed_word[word.len() - 2..word.len()] - .contains(|c: char| ['[', ']'].contains(&c)) + .contains(|c: char| REGEX_CHARS.contains(&c)) { regex.push_str(&processed_word[2..word.len() - 2]); } else {