Global command palette (Ctrl+K) with plugin-contributed sources #44
Loading…
Reference in a new issue
No description provided.
Delete branch "command-palette"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
A Ctrl+K command palette to jump to anything — catalog assets, workspaces, navigation/commands — plus a plugin extension point that the Music Library uses to search albums/artists.
How
Core palette
search_assets(query, limit)reuseslist_assets_implwith a path substring + limit (serde defaults fill the rest), searching every root independent of the current view's filters.CommandPaletteoverlay (portal, mounted in Layout for router context): search box, grouped results, full keyboard nav (arrows/Enter/Esc, hover-to-highlight). Asset search is debounced; commands and workspaces filter in-memory.Ctrl/Cmd+Ktoggles it — handled before the editable-element guard so it works while focus is in a text field; while open it owns the keyboard so app-level shortcuts don't also fire. Listed in Keybinds.Plugin contribution point
PaletteSourceContribution(id,group, asyncsearch → items) joins workflows/automation-steps/globals in the plugin model, gated by the same enable/disable filtering.?album=/?artist=views. Returns nothing when there's no music workspace.Testing
tsc, Biome, full-repo lint,cargo check, and the assets unit tests pass. Verified viamake dev: palette opens from anywhere (incl. while typing in the filter box), keyboard nav + select work across all groups, and Music albums/artists appear under a Music group and route correctly.