From ce26c8a75460948bccf412b3c559ea9a5777131f Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Sat, 19 Jul 2025 14:25:39 +1000 Subject: feat: fzf-like search instead of fuzzy Also add license for fuzzysort lib --- modules/launcher/Schemes.qml | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) (limited to 'modules/launcher/Schemes.qml') diff --git a/modules/launcher/Schemes.qml b/modules/launcher/Schemes.qml index 534e456..2be8558 100644 --- a/modules/launcher/Schemes.qml +++ b/modules/launcher/Schemes.qml @@ -1,28 +1,19 @@ pragma Singleton -import "root:/utils/scripts/fuzzysort.js" as Fuzzy -import qs.config +import qs.utils import Quickshell import Quickshell.Io import QtQuick -Singleton { +Searcher { id: root - readonly property list preppedSchemes: schemes.instances.map(s => ({ - name: Fuzzy.prepare(s.name), - flavour: Fuzzy.prepare(s.flavour), - scheme: s - })) - - function fuzzyQuery(search: string): var { - return Fuzzy.go(search.slice(`${Config.launcher.actionPrefix}scheme `.length), preppedSchemes, { - all: true, - keys: ["name", "flavour"], - scoreFn: r => r[0].score > 0 ? r[0].score * 0.9 + r[1].score * 0.1 : 0 - }).map(r => r.obj.scheme); + function transformSearch(search: string): var { + return search.slice(`${Config.launcher.actionPrefix}scheme `.length); } + list: schemes.instances + Variants { id: schemes -- cgit v1.2.3-freya