helix-mods/helix-core
Skyler Hawthorne 6a0b450f55
Fix multi byte auto pairs (#4024)
* Fix test::print for Unicode

The print function was not generating correct translations when
the input has Unicode (non-ASCII) in it. This is due to its use of
String::len, which gives the length in bytes, not chars.

* Fix multi-code point auto pairs

The current code for auto pairs is counting offsets by summing the
length of the open and closing chars with char::len_utf8. Unfortunately,
this gives back bytes, and the offset needs to be in chars.

Additionally, it was discovered that there was a preexisting bug where
the selection was not computed correctly in the case that the cursor
was:

1. a single grapheme in width
2. this grapheme was more than one char
3. the direction of the cursor is backwards
4. a secondary range

In this case, the offset was not being added into the anchor. This was
fixed.

* migrate auto pairs tests to integration

* review comments
2022-10-21 09:22:20 +09:00
..
src Fix multi byte auto pairs (#4024) 2022-10-21 09:22:20 +09:00
tests Add extend-indented and stop-extend captures for indent queries. 2022-10-11 16:48:04 +09:00
.gitignore Initial import. 2020-05-20 18:14:51 +09:00
Cargo.toml do not reparse unmodified injections (#4146) 2022-10-11 15:48:12 +09:00