Act IV part 2: The Echo Rite (.) + Waypoints (marks) + The Registers#10
Conversation
…ters
27 of 29 curriculum lessons shipped; only Block Party and The Macro
Forge (with The Archivist boss and the game finale) remain.
Engine:
- Dot-repeat: a Press-level recorder captures the last buffer-mutating
command — including whole insert sessions through esc — and . replays
it. Undo/redo, search, ex commands, and visual ops are not repeatable,
matching Vim
- Marks: m{key} sets, `{key} jumps to the exact spot, '{key} to the
line's first non-blank; positions clamp when the buffer shrinks
- Named registers: "x arms a register consumed by the next yank or
paste; yanks write the unnamed register too (Vim semantics). Paste
paths refactored around setRegister/takeRegister
- All pending-name keys (mark/register letters) bypass the allowedKeys
gate like r/f targets
Content:
- The Echo Rite: dw+. down a list; A!+esc replayed by .
- Waypoints: mark, far errand, exact ` return; ' first-word return
- The Registers: named stash surviving an intervening yank+paste
- Solvable-at-par test now skips esc when counting keys, matching the
UI's free-esc rule (its comment already claimed this)
|
Warning Review limit reached
Next review available in: 30 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (14)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- . respects allowedKeys like every other command (it replayed changes in lessons that never taught it); regression test added - Pasting an empty charwise yank (v y p on an empty line) landed the cursor on col -1 and panicked on the next insert; clamped + test - Pending() now reports armed m/`/'/" so the HUD shows them like r/f - README: the still-to-come note names Block Party and The Macro Forge instead of dangling off The Registers
|
CodeRabbit CLI review disposition (4 findings — all valid, all fixed):
|
Summary
Three medium engine features and their lessons — 27 of 29 lessons shipped. What remains is one final PR: Block Party (
Ctrl-v) and The Macro Forge (q/@+ The Archivist boss), which also re-arms the game finale.New lessons
.— repeats edits and whole insert sessionsm`'marks"a–"znamed registersEngine
.replays through the real key path with a recursion guard. Not repeatable:u/Ctrl-r,:s, visual ops — like Vim`exact jump,'first-non-blank jump, rows clamp when edits shrink the buffer"xarms a selection consumed by the next yank/paste; yanks always write the unnamed register too. Paste/yank paths refactored aroundsetRegister/takeRegisterallowedKeysliker/ftargets; 20 new engine test cases, TDD throughoutTest-harness fix
The solvable-at-par test now skips
escwhen counting solution keys — the UI has never counted esc (and the test's own comment claimed it didn't). Surfaced by The Echo Rite'sA ! esc j . j .solution.Test plan
go test ./...green (27 lessons, all solvable at par)go vet,gofmt -lcleanversionsmoke run