From 17d24b72d140b457641e729f310151a11baeff4d Mon Sep 17 00:00:00 2001 From: FragginWagon Date: Thu, 29 Jan 2026 03:18:18 +0000 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Improve=20search=20term=20escaping?= =?UTF-8?q?=20and=20formatting=20in=20Gamemaster=20search=20functionality?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/composables/useGamemasterSearch.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/code/websites/pokedex.online/src/composables/useGamemasterSearch.js b/code/websites/pokedex.online/src/composables/useGamemasterSearch.js index 05cbe2a..d0c0224 100644 --- a/code/websites/pokedex.online/src/composables/useGamemasterSearch.js +++ b/code/websites/pokedex.online/src/composables/useGamemasterSearch.js @@ -138,7 +138,10 @@ export function useGamemasterSearch(fileLines, displayLines) { function performSynchronousSearch() { const results = []; const searchTerm = searchQuery.value.toLowerCase(); - const escapedTerm = searchTerm.replace(/[.*+?^${}()|[\]\\]/g, String.raw`\$&`); + const escapedTerm = searchTerm.replace( + /[.*+?^${}()|[\]\\]/g, + String.raw`\$&` + ); try { // Try regex pattern first @@ -171,7 +174,7 @@ export function useGamemasterSearch(fileLines, displayLines) { /** * Execute search when query changes */ - const executeSearch = async (query) => { + const executeSearch = async query => { searchQuery.value = query; await performSearch(); }; @@ -243,7 +246,10 @@ export function useGamemasterSearch(fileLines, displayLines) { if (!searchQuery.value.trim()) return lineContent; const searchTerm = searchQuery.value; - const escapedTerm = searchTerm.replace(/[.*+?^${}()|[\]\\]/g, String.raw`\$&`); + const escapedTerm = searchTerm.replace( + /[.*+?^${}()|[\]\\]/g, + String.raw`\$&` + ); const regex = new RegExp(`(${escapedTerm})`, 'gi'); return lineContent.replaceAll(regex, '$1');