diff options
| author | Sebastian <[email protected]> | 2026-04-04 00:54:03 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-04-04 00:54:03 +0200 |
| commit | a5ec741cff9879ef2ddd64ed37c112ea0dff6fcd (patch) | |
| tree | 927c1f74a9d7828368d5d48c8c0250daf5f15578 /packages | |
| parent | fff98636f7d1f0dc75c5905e494e339a0d95f45e (diff) | |
| download | opencode-a5ec741cff9879ef2ddd64ed37c112ea0dff6fcd.tar.gz opencode-a5ec741cff9879ef2ddd64ed37c112ea0dff6fcd.zip | |
notes on v2 (#20941)
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/opencode/specs/v2.md | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/packages/opencode/specs/v2.md b/packages/opencode/specs/v2.md new file mode 100644 index 000000000..55d0f0267 --- /dev/null +++ b/packages/opencode/specs/v2.md @@ -0,0 +1,13 @@ +# 2.0 + +What we would change if we could + +## Keybindings vs. Keymappings +Make it `keymappings`, closer to neovim. Can be layered like `<leader>abc`. Commands don't define their binding, but have an id that a key can be mapped to like + +```ts +{ key: "ctrl+w", cmd: string | function, description } +``` + +_Why_ +Currently its keybindings that have an `id` like `message_redo` and then a command can use that or define it's own binding. While some keybindings are just used with `.match` in arbitrary key handlers and there is no info what the key is used for, except the binding id maybe. It also is unknown in which context/scope what binding is active, so a plugin like `which-key` is nearly impossible to get right. |
