Skip to content

Feat/indexing UI - #1639

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

Feat/indexing UI#1639
Mestane wants to merge 63 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 now generated at runtime inside the shell. On first launch, the page QML files are parsed via Quickshell.shellDir and an inverted index is written to ~/.cache/caelestia/settings-index.json. Subsequent launches load the cached index instead of rebuilding it.

The cache is keyed by the current Git revision, so every plugin update automatically invalidates and rebuilds the index. Search uses the cached inverted index with prefix matching, relevance ranking, and highlighted matches, while fzf is only used as a fallback for typos.

The previous build-time Python/QRC embedding has been removed. The entire indexing pipeline now lives in JavaScript, making it simpler and more consistent with the Caelestia architecture.

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
@Mestane
Mestane force-pushed the feat/indexing-ui branch 2 times, most recently from 204ce53 to d3ff68c Compare July 7, 2026 19:21
@Mestane
Mestane force-pushed the feat/indexing-ui branch from d3ff68c to c53d68b Compare July 7, 2026 19:41
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