feat: make session selector keybindings configurable (#948)

I lost my ability to select up and down in the session selector because
of some hardcoded keybindings again... So, I am adding these
configurable keybindings so I can `ctrl+p` to select up :-)

### Changes

Adds 4 new keybinding actions for the session picker (/resume):
- `toggleSessionPath` (ctrl+p) - toggle path display
- `toggleSessionSort` (ctrl+r) - toggle sort mode
- `deleteSession` (ctrl+d) - delete selected session
- `deleteSessionNoninvasive` (ctrl+backspace) - delete when query empty

Refactors session-selector to use `kb.matches()` instead of hardcoded key checks.
This commit is contained in:
aos 2026-01-25 14:08:11 -05:00 committed by GitHub
parent 4bb21b7f5f
commit 225fcb3830
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 27 additions and 10 deletions

View file

@ -435,6 +435,11 @@ All keyboard shortcuts can be customized via `~/.pi/agent/keybindings.json`. Eac
| `selectDown` | `down` | Move selection down in lists |
| `selectConfirm` | `enter` | Confirm selection |
| `selectCancel` | `escape`, `ctrl+c` | Cancel selection |
| `toggleSessionPath` | `ctrl+p` | Toggle path display in session picker |
| `toggleSessionSort` | `ctrl+s` | Toggle sort mode in session picker |
| `renameSession` | `ctrl+r` | Rename selected session |
| `deleteSession` | `ctrl+d` | Delete selected session |
| `deleteSessionNoninvasive` | `ctrl+backspace` | Delete session (when query empty) |
**Example (Emacs-style):**