mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-24 02:09:28 +00:00
A TextDocumentLine is now backed by a non-null-terminated sequence of Unicode codepoints encoded as UTF-32 (one u32 per codepoint.) This makes it possible to view and edit arbitrary Unicode text without strange cursor and selection behavior. You can freely copy and paste emojis between TextEditor and Terminal now. :^) Storing UTF-32 is quite space-inefficient, but we should be able to use the same optimization techniques as LibVT does to reduce it in the typical case where most text is ASCII. There are a lot of things that can be cleaned up around this code, but this works well enough that I'm pretty happy with it.
52 KiB
52 KiB