summaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/Strings.qml10
1 files changed, 8 insertions, 2 deletions
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<string>, 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)