From ea955f7e025bf4f4d0cd2f2662563e9c3a7486b2 Mon Sep 17 00:00:00 2001 From: FIameCaster <82079841+FIameCaster@users.noreply.github.com> Date: Tue, 19 Dec 2023 17:12:39 +0100 Subject: [PATCH] Improve word boundries --- package/src/extensions/search/selection.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/package/src/extensions/search/selection.ts b/package/src/extensions/search/selection.ts index 468c0324..ff5494ed 100644 --- a/package/src/extensions/search/selection.ts +++ b/package/src/extensions/search/selection.ts @@ -83,10 +83,10 @@ const highlightCurrentWord = ( return ([start, end], value) => { if (start < end || !editor.focused || noHighlight) searchAPI.search("") else { - let group = `[\\p{L}_$\\d${includeHyphens && includeHyphens(start) ? "-" : ""}]*` - let before = value.slice(0, start).match(RegExp(group + "$", "u"))! + let group = `[_$\\p{L}\\d${includeHyphens && includeHyphens(start) ? "-" : ""}]` + let before = value.slice(0, start).match(RegExp(group + "*$", "u"))! let index = before.index! - let word = before[0] + value.slice(start).match(RegExp("^" + group, "u"))![0] + let word = before[0] + value.slice(start).match(RegExp("^" + group + "*", "u"))![0] searchAPI.search( /^-*(\d|$)/.test(word) || (filter && !filter(index, index + word.length)) ? "" : word, true, @@ -94,6 +94,7 @@ const highlightCurrentWord = ( false, undefined, filter, + RegExp(group + "{2}", "u"), ) } noHighlight = false