From 87458f30b6ca60c6d928e99bd18512f1b1e7829a Mon Sep 17 00:00:00 2001 From: Book-reader Date: Thu, 8 May 2025 19:40:35 +1200 Subject: [PATCH] bangs: fix redict including extra space sometimes --- asklyphe-frontend/src/bangs.rs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/asklyphe-frontend/src/bangs.rs b/asklyphe-frontend/src/bangs.rs index 682bd32..8ce78a8 100644 --- a/asklyphe-frontend/src/bangs.rs +++ b/asklyphe-frontend/src/bangs.rs @@ -74,9 +74,22 @@ pub fn do_bangs_or_whatever(query: &String) -> Option { let bang = bangs.first()?; - let end_idx = bang.start_idx + 1 + bang.len; + let end_idx = { + let mut end_idx = bang.start_idx + 1 + bang.len; + if end_idx < query.len() { + end_idx += 1; + } + end_idx + }; - let query_split = query.split_once(query.get(bang.start_idx..end_idx).unwrap()).unwrap(); + let start_idx = if end_idx == query.len() && bang.start_idx > 0 { + bang.start_idx - 1 + } else { + bang.start_idx + }; + + + let query_split = query.split_once(query.get(start_idx..end_idx).unwrap()).unwrap(); let query_trimmed = format!("{}{}", query_split.0, query_split.1);