helix/helix-term
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 chore(view): remove indent_unit helper fn (#4389) 2022-10-20 17:05:04 -05:00
tests Fix multi byte auto pairs (#4024) 2022-10-21 09:22:20 +09:00
.gitignore Initial import. 2020-05-20 18:14:51 +09:00
build.rs feat: support grammar cross-compilation 2022-08-02 12:04:09 +09:00
Cargo.toml build(deps): bump smallvec from 1.9.0 to 1.10.0 (#4093) 2022-10-03 18:38:24 -05:00