dualfrozandwongxy 5cc37c9f0a fix(cursor): keep the visual selection whole over characters outside the BMP (#2683)
* fix(cursor): keep the visual selection whole over characters outside the BMP

The inclusive Nvim end column was turned into an exclusive VSCode one by
adding a single UTF-16 unit. A character outside the BMP is two of them, so
the selection ended in the middle of a surrogate pair and drifted away from
where Nvim had the cursor: moving right over it took two presses and the
selected region no longer matched.

Step over the whole character instead, using its byte length.

Closes #2535

* test(cursor): add visual selection tests for non-BMP characters

* test(cursor): expect the astral pair to be whole in the mixed-character selection

---------

Co-authored-by: wongxy <xiyao.wong@foxmail.com>
2026-09-23 18:39:53 +08:00
S
Description
My contributions to vscode-neovim/vscode-neovim: 6 commits, 1 merged PRs
98 KiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 83.2%
Vim Script 10.5%
Lua 6.3%