You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement M2.1 and M2.2: multiple-selection engine and UX
M2.1 — Multiple-Selection Engine:
- Enable native multi-cursor/column selection via allowMultipleSelections,
drawSelection, and @codemirror/search in the base extension group
- Add @codemirror/search as a direct dependency
- Add editorSelectionOps.ts: select-next, select-all, skip, and
remove-last occurrence operations with deterministic wrap behavior
- Wire occurrence actions into domain APIs, runner adapter, and capability
- Verify line operations (move/duplicate/join) are multi-range safe with
extended test coverage; document search-nav selection replacement
M2.2 — Multiple-Selection Commands and UX:
- Add 4 new commands (selectNextOccurrence, selectAllOccurrences,
skipOccurrence, undoOccurrence) with definitions, handlers, menu items
- Reassign Cmd/Ctrl+D from duplicateLine to selectNextOccurrence;
duplicate line moves to Cmd/Ctrl+Alt+D (Shift+D owned by diff preview)
- Extend cursor status, app state, and status bar to show selection count
(compact 'N selections' segment, aria-labeled, active-pane only)
- Add cross-feature validation tests for multi-cursor undo, synchronized
typing, occurrence non-overlap, and save-content parity
All 2750 tests pass; npm run check reports 0 new errors.
0 commit comments