Skip to content

Feat/indexing UI#1639

Open
Mestane wants to merge 59 commits into
caelestia-dots:mainfrom
Mestane:feat/indexing-ui
Open

Feat/indexing UI#1639
Mestane wants to merge 59 commits into
caelestia-dots:mainfrom
Mestane:feat/indexing-ui

Conversation

@Mestane

@Mestane Mestane commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Adds full-text search to the settings panel. Typing a query shows grouped result cards that deep-link to the matching setting, scrolling to it and flashing it.

The index is generated from the page QML at build time (so it always matches the UI) and baked into the plugin binary as a resource, rather than shipping as a user-editable file. Search runs over an inverted index with prefix matching and relevance ranking, and matched terms are highlighted in the results.

settings search is a hybrid setup a build-time python script parses the page QML and bakes an inverted index (+ ranking weights) into the plugin binary. at runtime it hits that index first (exact + prefix, title weighted over keywords, AND across words), and only falls back to fzf on the titles when the index comes up short, like for typos. index results lead, fzf just fills the gaps.

the python script isn't a rival fuzzy matcher to the shell's fzf util it runs at build time and does zero searching. it just prepares the index. the actual fuzzy matching is the same fzf the launcher uses. different layers: python builds the index, fzf searches it.

There's a developer guide in the README (collapsible section) covering how to add or remove settings from the index.

Mestane added 30 commits June 28, 2026 17:44
@Mestane Mestane force-pushed the feat/indexing-ui branch from 45f393a to e605405 Compare June 28, 2026 16:32
@Mestane Mestane force-pushed the feat/indexing-ui branch from e605405 to 00b25d1 Compare June 28, 2026 17:28
@Mestane Mestane force-pushed the feat/indexing-ui branch from 719c915 to 55c6491 Compare June 29, 2026 21:05
Fall back to the project's fzf over entry titles when the inverted
index has no exact or prefix match, so typos still find settings.
Index results lead; fzf only fills the gaps.
@Mestane Mestane force-pushed the feat/indexing-ui branch from 55c6491 to 0f141e2 Compare June 29, 2026 21:14
@Mestane Mestane force-pushed the feat/indexing-ui branch from 1627b96 to b535d56 Compare July 2, 2026 21:07
@Mestane Mestane force-pushed the feat/indexing-ui branch from b535d56 to 62578be Compare July 3, 2026 01:31
@Mestane Mestane force-pushed the feat/indexing-ui branch from ca8570b to 1ceb3d6 Compare July 3, 2026 16:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant