Files
anomalyco__opentui/packages/web
Simon Klee a84a0bac70 core: add configurable selection occupancy (#1393)
Selection combines half-open forward ranges with an inclusive backward
workaround. Replaying a local selection can change its range, and
extending
by one display column can split a wide grapheme.

Add an explicit occupancy model. Cell occupancy includes both endpoint
graphemes for Vim-style behavior. Boundary occupancy uses a half-open
range between insertion points. This behavior matches conventional thin
cursors.

Keep occupancy independent of cursor paint. Normalize endpoints to whole
graphemes. This keeps highlighting, copied text, deletion, cursor sync,
and wrapped-line navigation consistent in both directions.

A press without movement keeps the selection empty. Preserve half-open
offset selections. A cursor at the end of a line does not occupy the
newline, but crossing the line boundary selects it.

Supersedes the boundary-semantics direction of PR
https://github.com/anomalyco/opentui/pull/1389.
2026-08-21 22:06:49 +02:00
..
2026-08-21 21:57:46 +02:00
2026-08-14 11:39:54 +02:00
2026-08-21 21:57:46 +02:00
2026-01-23 21:39:11 +01:00