The core-side machinery the menu and clipboard ride on, plus the Lua resolver. Still no dispatch wiring (that needs the protocol/frontend commit), so this builds but nothing is reachable yet. - Clipboard (Q#CM6): an in-core slot + `copy`/`cut`/`paste`/`select-all` on `EditorCore`, plus a one-shot `pending_clipboard` the dispatcher will drain. `region_bytes` / `word_at_cursor` (the latter feeds the `symbol` context). - Menu core (Q#CM1): `SharedMenu` field + `menu_open/close/step/ set_active_row/active_command/hit` + `ensure_menu_overlay`. - `pmacs.menu` install (item/list/remove/clear/_raw) and `ed.*` bindings (clipboard_copy/cut/paste, select_all, word_at_cursor); the `install` signature gains the menu registry, threaded through `lua.rs`. - `builtin/menus/default.lua`: `pmacs.menu.build` resolves visible items (predicate or context tag), groups/sorts, and emits rows (Q#CM3). The default items reference commands by name (resolved at invoke). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014TXbAwk27agwhrNNrhLi2U |
||
|---|---|---|
| .. | ||
| api | ||
| commands | ||
| hooks | ||
| keymaps | ||
| menus | ||
| packages/repl | ||
| runtime | ||