fix(tui): reserve home and end for navigation (#40123)

Co-authored-by: Simon Klee <hello@simonklee.dk>
This commit is contained in:
opencode-agent[bot] 2026-08-02 04:39:23 +00:00 committed by GitHub
commit adbd22833c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 2 deletions

View file

@ -187,8 +187,8 @@ export const Definitions = {
input_visual_line_end: keybind("alt+e", "Move to end of visual line in input"),
input_select_visual_line_home: keybind("alt+shift+a", "Select to start of visual line in input"),
input_select_visual_line_end: keybind("alt+shift+e", "Select to end of visual line in input"),
input_buffer_home: keybind("home", "Move to start of buffer in input"),
input_buffer_end: keybind("end", "Move to end of buffer in input"),
input_buffer_home: keybind("none", "Move to start of buffer in input"),
input_buffer_end: keybind("none", "Move to end of buffer in input"),
input_select_buffer_home: keybind("shift+home", "Select to start of buffer in input"),
input_select_buffer_end: keybind("shift+end", "Select to end of buffer in input"),
input_delete_line: keybind("ctrl+shift+d", "Delete line in input"),

View file

@ -97,6 +97,19 @@ test("resolves message navigation defaults", () => {
expect(config.keybinds.get("session.messages_last_user")).toMatchObject([{ key: "alt+end" }])
})
test("reserves home and end for navigation", () => {
const config = resolve({}, { terminalSuspend: true })
expect(config.keybinds.get("input.buffer.home")).toEqual([])
expect(config.keybinds.get("input.buffer.end")).toEqual([])
expect(config.keybinds.get("input.select.buffer.home")).toMatchObject([{ key: "shift+home" }])
expect(config.keybinds.get("input.select.buffer.end")).toMatchObject([{ key: "shift+end" }])
expect(config.keybinds.get("input.line.home")).toMatchObject([{ key: "ctrl+a" }])
expect(config.keybinds.get("input.line.end")).toMatchObject([{ key: "ctrl+e" }])
expect(config.keybinds.get("input.visual.line.home")).toMatchObject([{ key: "alt+a" }])
expect(config.keybinds.get("input.visual.line.end")).toMatchObject([{ key: "alt+e" }])
})
test("opens the subagent picker with down", () => {
const config = resolve({}, { terminalSuspend: true })