e4e1454e80
Calculate width of Styleds directly
2022-07-12 10:22:30 +02:00
d693712dab
Expose tab width calculation
2022-07-07 16:21:05 +02:00
f0af4ddc40
Expose chunks and chunk contents
2022-07-07 16:18:51 +02:00
ee9d6018c0
Add constructors and traits for Size and Pos
2022-07-04 19:38:28 +02:00
11b2211fad
Improve word wrapping
...
Now supports long trailing whitespace as well as tabs.
2022-07-04 19:38:28 +02:00
9b0d80873f
Use styled chunks of text instead of plain strings
2022-07-04 19:38:28 +02:00
761519c1a7
Suspend and unsuspend terminal
2022-06-17 20:02:51 +02:00
333cf74fba
Make width measuring optional and disabled by default
2022-06-08 17:38:38 +02:00
6b9e4cbc63
Ignore graphemes of width 0 when writing to buffer
2022-05-29 13:18:39 +02:00
37634139b0
Wrap text in a unicode-aware way
2022-05-29 13:18:39 +02:00
8fae7d2bf1
Return Redraw enum instead of bool
...
Boolean values were too easy to accidentally interpret the wrong way.
2022-05-29 13:18:25 +02:00
3b2ea37ba5
Get individual grapheme's width
2022-05-29 13:18:25 +02:00
833defd1ce
Document WidthDB
2022-05-29 13:18:25 +02:00
79e8813884
Restore cursor on exit
2022-05-29 13:18:25 +02:00
fe424b3376
Fix grapheme rendering
...
Previously, when overwriting wide graphemes, those were not first
cleared from the buffer. This could sometimes result in partial
graphemes, which is an invalid buffer state.
Now, when a wide grapheme is overwritten, it is removed from the buffer
entirely and replaced with spaces. Those spaces retain the style of the
removed grapheme.
A similar thing now happens with graphemes that only partially overlap
the buffer, either on the left or the right border. Those parts that are
inside the buffer are rendered as spaces with the grapheme's style.
2022-05-29 13:18:25 +02:00
67f8919630
Only draw differences from previous frame
2022-05-29 13:18:25 +02:00
9512ddaa3b
Measure actual width of displayed characters
2022-05-29 13:18:25 +02:00
add2f25aba
Use Frame for rendering instead of Buffer
2022-05-21 22:33:39 +02:00
cc2f102141
Position cursor via buffer
2022-05-21 21:07:24 +02:00
bbaea3b5bf
Create simple terminal and buffer abstractions
2022-05-21 20:53:32 +02:00
704bb67c7b
Create project
2022-05-21 00:15:53 +02:00