Skip to content

refactor(editor): split vim stack, handler map, buffer apply layer#18

Merged
namefailed merged 1 commit into
mainfrom
feat/editor-vim-senior-refactor
Jun 9, 2026
Merged

refactor(editor): split vim stack, handler map, buffer apply layer#18
namefailed merged 1 commit into
mainfrom
feat/editor-vim-senior-refactor

Conversation

@namefailed

Copy link
Copy Markdown
Owner

Summary

  • Split editor-vim-ops.ts into editor-vim-motions.ts (caret/motions) and editor-vim-edits.ts (BufferEditResult mutations); barrel re-export preserved.
  • Added editor-buffer.ts shared apply layer and editor-normal-handlers.ts NORMAL-mode handler map; editor-window.ts dispatches single keys through the map and applies edits via buffer state.
  • Split tests into editor-vim-motions.test.ts / editor-vim-edits.test.ts plus editor-buffer.integration.test.ts for the >> indent pipeline; docs updated (587 tests / 48 files).

Test plan

  • npm test — 587 passed
  • npm run lint — clean
  • Manual: open editor tile, verify >>/<<, dd/yy, motions (hjkl, wbe), insert mode (i/a/o)

Split editor-vim-ops into motions vs edits modules, add editor-buffer
apply pipeline and NORMAL-mode handler map, wire editor-window through
shared buffer state, and add integration tests for >> indent flow.
@namefailed namefailed merged commit a9fd42d into main Jun 9, 2026
10 checks passed
@namefailed namefailed deleted the feat/editor-vim-senior-refactor branch June 9, 2026 10:54
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.

1 participant