Skip to content

input: preserve CRLF cursor boundaries and document shortcuts - #2986

Merged
huacnlee merged 1 commit into
longbridge:mainfrom
kossoy:fix/crlf-cursor-boundaries
Sep 7, 2026
Merged

input: preserve CRLF cursor boundaries and document shortcuts#2986
huacnlee merged 1 commit into
longbridge:mainfrom
kossoy:fix/crlf-cursor-boundaries

Conversation

@kossoy

@kossoy kossoy commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

End can place a text-input cursor between CR and LF; subsequent typing splits the newline. Ctrl+Home/End also lacked non-macOS document bindings.

Clip cursor and selection movement outside CRLF pairs, including the new multi-cursor movement/selection paths. Left/Right cross CRLF as one newline; a standalone CR remains an ordinary character. The rope and byte/UTF-16 APIs are unchanged. Add standard document navigation/selection bindings and a focused regression.

Validation on this branch (43c733d), adapted to the multi-cursor implementation in cbdf5ba:

  • Linux and Windows full workspace test jobs pass; the Linux log confirms textarea_cursor_treats_crlf_as_one_newline passes among 838 base tests.
  • macOS lint, workspace tests and component doc-test step pass.
  • GPUI Shell Core, Component Shell, all three Standard Runtime jobs and documentation build pass.
  • Changed Rust files pass rustfmt checking locally.

The pinned-version counterpart additionally passed native GPUI key-dispatch tests for LF/BOM/CRLF/mixed input, exact source-write payloads and actual muninn Linux Ctrl+End typing/save plus Ctrl+Home/End/Right/Left save checks in Tessera. Canonical BOM and all eight original CRLF pairs were retained.

CI run

@kossoy
kossoy marked this pull request as ready for review September 6, 2026 12:30
@huacnlee
huacnlee merged commit d88fc05 into longbridge:main Sep 7, 2026
9 checks passed
@huacnlee

huacnlee commented Sep 7, 2026

Copy link
Copy Markdown
Member

Thanks

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.

2 participants