mirror of
https://github.com/badlogic/pi-mono.git
synced 2026-11-05 23:37:25 +00:00
`pi config` ignored `~/.pi/agent/keybindings.json`. `selectConfig()` never called `setKeybindings()`, so the config selector's `getKeybindings()` fell back to the default TUI bindings. Remaps such as `"tui.select.down": ["down", "ctrl+n"]` did nothing there, although they work in `/settings` and the `--resume` picker. `selectConfig()` now installs `KeybindingsManager.create(options.agentDir)` before it builds the UI, the same way the session picker and startup UI do. **Testing** - Added `test/config-selector-keybindings.test.ts`. It runs `selectConfig()` with a stubbed terminal and component and an agent dir whose `keybindings.json` remaps `tui.select.up` and `tui.select.down`, then checks that the active keybindings include `ctrl+p` and `ctrl+n`. It fails without the change and passes with it. - Manual check: ran `pi config` in tmux with that `keybindings.json`. Before the change, Ctrl+N did nothing. After it, Ctrl+N moves the selection like Down. - `npm run check` reports only two errors, both missing modules in `packages/schema/test/bench/candidates.ts`. They occur on `main` without this change. Fixes #11651 Requested by @badlogic Co-authored-by: triagent <triagent@localhost> |
||
|---|---|---|
| .. | ||
| args.ts | ||
| auth-check.ts | ||
| auth-command.ts | ||
| config-selector.ts | ||
| credential-print.ts | ||
| file-processor.ts | ||
| initial-message.ts | ||
| list-models.ts | ||
| project-trust.ts | ||
| session-picker.ts | ||
| setup.ts | ||
| startup-ui.ts | ||