New emojis (2021 Unicode 14.0+) cause rendering issues (original) (raw)

Description of the problem or steps to reproduce

Open the following snippet, go to the second line and move cursor right. It is still highlighting the emoji. Move cursor right again and it will highlight 'x', but if you try to insert a character it will be rendered on top of the 'x' instead of before it. Once you move the cursor out of the line with the problematic emoji it will be rendered correctly again. Deleting characters on the line with the emoji will also cause weird rendering glitches.

🥲abc # emoji from Unicode 13.0, works ok
🫤xyz # emoji from Unicode 14.0, causes problems

The issue is caused by go-runewidth (which micro depends on) using an old Unicode specification. There is an open pull request to update it to Unicode 15.0 but the repo seems to not be very actively maintained.

Specifications

micro v2.0.14-dev
Commit hash: 18f3e1b
OS: Linux
Terminal: terminator 2.1.3