Support mode 2027/grapheme cluster handling
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 30/100
Research direction
Read the linked Mode 2027 proposal and Unicode TR29 grapheme-cluster specification first. Then inspect Warp's Rust terminal rendering and input handling; done means complex graphemes such as क्षि, 👩🌾, 🏳️⚧️, and 각 are handled as clusters rather than individual code points.
Written by the indexing model from the issue text.
Description
Discord username (optional)
paperdave.net
Describe the solution you'd like?
Certain graphemes such as क्षि, 👩🌾, 🏳️⚧️, 각, and many more are made up of multiple unicode code points. These currently render as individual code points.
A good read on what is going on here is a blog post by Mitchell Hashimoto: Grapheme Clusters and Terminal Emulators. He's done alot of work to make this fast and reliable in Ghostty.
I am specifically requesting Warp to implement Mode 2027, a proposal for proper grapheme cluster support.
The specification for grapheme clustering describes exactly where graphemes break. Likely should find a library in the programming language Warp is built in, as the rules are very complicated and easy to get wrong.
Is your feature request related to a problem? Please describe.
No response
Additional context
I'm writing a terminal text input library and it would be great if Warp supported this, though I think for warp specifically I'm going to see if I
How important is this feature to you?
1 (Not too important)
Warp Internal (ignore) - linear-label:39cc6478-1249-4ee7-950b-c428edfeecd1
None
- Dominant language
- Rust
- Stars
- 65.1k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from warpdotdev/warp
-
area:agent area:window-tabs-panes enhancement needs-info os:mac repro:high triaged
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
warpdotdev/warp#15768 · 3 comments · 1 reaction ·
-
bug factory-auto-implement factory:revops-factory os:mac ready-to-implement repro:high triaged warp:auto-triage-review
Difficulty 1/5 Under an hour Newbie friendliness 90/100
warpdotdev/warp#15697 · 2 comments ·
-
area:editor-notebooks bug repro:high triaged warp:auto-triage-review warp:tracking
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
warpdotdev/warp#13949 · 3 comments ·
-
markdown_parser: unclosed `<u>` markers pair via the emphasis algorithm and delete surrounding text Openarea:editor-notebooks bug ready-to-implement repro:high triaged warp:auto-triage-review
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
warpdotdev/warp#12863 · 2 comments ·
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
warpdotdev/warp#11969 · 2 comments ·
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
kwakseongjae/auto-hwp#319 ·
-
area:cli bug filter-quality good first issue priority:medium
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
bevyengine/bevy#25861 ·
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
enhancement remote
Difficulty 2/5 1-3 hours Newbie friendliness 68/100