From 11b30a0f696e3fce498f8d5fe1194b81746bcd83 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Thu, 12 Mar 2026 22:22:45 +1100 Subject: strings: cache compiled RegExp objects --- utils/Strings.qml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'utils') diff --git a/utils/Strings.qml b/utils/Strings.qml index 1d0cc76..a91a0c0 100644 --- a/utils/Strings.qml +++ b/utils/Strings.qml @@ -3,12 +3,18 @@ pragma Singleton import Quickshell Singleton { + property var _regexCache: ({}) + function testRegexList(filterList: list, target: string): bool { const regexChecker = /^\^.*\$$/; for (const filter of filterList) { - // If filter is a regex if (regexChecker.test(filter)) { - if ((new RegExp(filter)).test(target)) + let re = _regexCache[filter]; + if (!re) { + re = new RegExp(filter); + _regexCache[filter] = re; + } + if (re.test(target)) return true; } else { if (filter === target) -- cgit v1.2.3-freya