feat(gtk): CommandPaletteModel — palette Ctrl+K avec auto-complétion scorée (#18) #112

Closed
charles wants to merge 3 commits from feat/18-command-palette into main
Owner

Résumé

  • CommandPaletteModel : view-model pour la palette Ctrl+K (GtkPopover + GtkSearchEntry)
  • filtered() : retourne les commandes filtrées et triées par score (préfixe=100, contient=80, desc=40)
  • set_query() : met à jour le filtre, reset la sélection
  • move_up() / move_down() : navigation clavier sûre (no panic aux bornes)
  • selected_command() : commande active, injectée dans le champ de saisie (pas envoyée)
  • PaletteEntry : command, is_match, score
  • 4 tests unitaires

Closes #18

## Résumé - `CommandPaletteModel` : view-model pour la palette Ctrl+K (`GtkPopover` + `GtkSearchEntry`) - `filtered()` : retourne les commandes filtrées et triées par score (préfixe=100, contient=80, desc=40) - `set_query()` : met à jour le filtre, reset la sélection - `move_up()` / `move_down()` : navigation clavier sûre (no panic aux bornes) - `selected_command()` : commande active, injectée dans le champ de saisie (pas envoyée) - `PaletteEntry` : `command`, `is_match`, `score` - 4 tests unitaires Closes #18
chore(gtk): exposer CommandPaletteModel dans lib.rs (#18)
Some checks are pending
CI / cargo check (pull_request) Waiting to run
CI / cargo test (pull_request) Blocked by required conditions
CI / clippy + rustfmt (pull_request) Waiting to run
8e3418fb0e
fix(gtk): remove missing transcript_widget ref from command palette lib.rs (#18)
Some checks failed
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
2b972461c5
charles closed this pull request 2026-04-06 02:08:57 +00:00
Some checks are pending
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
qa
Required

Pull request closed

Sign in to join this conversation.
No description provided.