Skip to content

BACK-584 - Keep vim keys inside the list at navigation boundaries - #866

Merged
MrLesk merged 1 commit into
mainfrom
tasks/back-584-vim-boundary-keys
Aug 7, 2026
Merged

BACK-584 - Keep vim keys inside the list at navigation boundaries#866
MrLesk merged 1 commit into
mainfrom
tasks/back-584-vim-boundary-keys

Conversation

@MrLesk

@MrLesk MrLesk commented Aug 7, 2026

Copy link
Copy Markdown
Owner

Closes #768. Supersedes #770's config-key approach per maintainer decision.

At list/board boundaries, j/k previously handed focus to the search input (deliberate in BACK-399, surprising for vim users). Decided behavior, no new config key: j/k now stop at boundaries (no wrap, no handoff) while the arrow keys keep the search handoff, on the task list, the detail pane, and the board including empty columns; / and Ctrl+F are unchanged.

Implementation splits the shared bindings into arrow/vim families with one shared boundary resolver; the board's two screen handlers collapse into one (net −23 lines in board.ts). Filter popups and pickers keep circular wrap for both families.

Verification: behavior tests driven by real key events with a mutation control (forcing vim to hand off fails 5 tests), plus real-PTY passes on all surfaces whose control scripts fail against pre-fix main. Full suite 1951 pass / 0 fail. Independently reviewed with no blocking findings, including a fork-source analysis confirming no double-scroll in the detail pane and intact picker wrapping.

@MrLesk
MrLesk merged commit 645b5cd into main Aug 7, 2026
10 checks passed
@MrLesk
MrLesk deleted the tasks/back-584-vim-boundary-keys branch August 7, 2026 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Option to disable the boundary jump into the search input (vim-style j/k)

1 participant