Skip to content

feat: operate on and move selected block ranges - #500

Merged
Azganoth merged 1 commit into
mainfrom
feature/block-range-operations
Sep 22, 2026
Merged

Azganoth merged 1 commit into
mainfrom
feature/block-range-operations

Conversation

@Azganoth

Copy link
Copy Markdown
Owner

Summary

  • Make selected block ranges operate as structural content for copy, cut, delete, typing, and paste, preserving nested list and blockquote structure and the valid remembered text caret after deletion.
  • Add sibling movement through Alt+Up, Alt+Down, context popup commands, and handle dragging. All movement paths share boundary validation and preserve selection direction for Undo and Redo.
  • Update the editor specification, command reference, changelog, and focused coverage for nested and cross-parent ranges.

Related Issue

Refs #482. Native OS clipboard transport remains to be manually verified before the issue is complete.

Verification

  • pnpm vitest run src/features/editor/plugins/blockSelectionInteraction.test.ts src/features/editor/plugins/blockSelectionOperations.test.ts covers structural deletion, movement, drag cancellation, replacement, nested selections, and history.
  • pnpm check:frontend passed formatting, TypeScript, lint, production build, and the full frontend test and coverage suite.
  • pnpm build:e2e:desktop and pnpm test:e2e:desktop:run --scenario block-selection passed in the assembled Windows app, covering popup movement, keyboard movement, Undo, and pointer drag.
  • The pre-commit and pre-push hooks passed.

Not verified: Native OS clipboard transport between Leafdown and other desktop applications. Clipboard formats and replacement behavior are covered by editor tests, but the system clipboard was not changed during this pass.

@Azganoth Azganoth added the Feature New feature or request label Sep 22, 2026
@Azganoth Azganoth self-assigned this Sep 22, 2026
@github-project-automation github-project-automation Bot moved this to Backlog in Leafdown Sep 22, 2026
@Azganoth
Azganoth merged commit b79d135 into main Sep 22, 2026
3 checks passed
@Azganoth
Azganoth deleted the feature/block-range-operations branch September 22, 2026 23:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Feature New feature or request

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant