Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
@thdxr I have revamped the keybinds so that (almost) everything is in a central place and it's difficult to reason about the binding precedence and make changes without introducing regressions.
Most notable features:
opencode/packages/opencode/src/cli/cmd/tui/context/keybind.tsx
Line 61 in 3272c84
opencode/packages/opencode/src/cli/cmd/tui/ui/dialog-select.tsx
Line 125 in 3272c84
(There are some rough edges, I'll refactor the api a bit more e.g. I think it's unnecessary to have
keybind.keybinds.,keybind.should suffice, things like that)Exceptions:
<Prompt>'sonKeyDownpassed to<textarea>. I will investigate if this can (or should) be converted to the universal keybind approachErrorComponentinapp.tsx-useKeybindis a potential point of failure, and our catch-allErrorBoundaryshould have minimal features IMOA few caveats (will address before merge):
keybind.tsxandkeybind_.ts. I did that because debugging breakpoints don't work intsxfiles. I will inline all ofkeybind_.tsintokeybind.tsxbefore merge.<input>inserts<letter>upon receivingctrl+<letter>. I'll investigate a bit more