Mitchell Hashimoto
|
7bde20a43d
|
a cell is empty only if it also has no styling
Previously we only checked if it had no character. With text shaping,
this was causing runs of only empty backgrounds to not render.
|
2022-09-13 10:12:44 -07:00 |
|
Mitchell Hashimoto
|
662b656218
|
implement LRU row GPU cell caching
|
2022-09-12 11:28:47 -07:00 |
|
Mitchell Hashimoto
|
8995e74e23
|
rows are dirty when initialized
|
2022-09-10 11:01:40 -07:00 |
|
Mitchell Hashimoto
|
08b7a866b6
|
Screen dirty tracking
|
2022-09-10 10:59:57 -07:00 |
|
Mitchell Hashimoto
|
98dff5a163
|
better handling of combination characters
|
2022-09-07 20:10:06 -07:00 |
|
Mitchell Hashimoto
|
85dff335f1
|
much more accurate run splits and cell widths in runs
|
2022-09-07 10:30:40 -07:00 |
|
Mitchell Hashimoto
|
3754de3b95
|
test very long emoji
|
2022-09-06 14:21:07 -07:00 |
|
Mitchell Hashimoto
|
802f230fa2
|
handle graphemes with more than 1 joiner
|
2022-09-05 10:35:22 -07:00 |
|
Mitchell Hashimoto
|
47242ad12a
|
test writing graphemes
|
2022-09-05 10:29:52 -07:00 |
|
Mitchell Hashimoto
|
7ceff79ea9
|
various methods on Row are grapheme-aware and tested
|
2022-09-05 09:47:35 -07:00 |
|
Mitchell Hashimoto
|
b3ec7028fb
|
detect and attach grapheme to grapheme data
|
2022-09-04 21:57:07 -07:00 |
|
Mitchell Hashimoto
|
a605ff07e1
|
setup flags, storage for graphemes
|
2022-09-04 11:17:41 -07:00 |
|
Mitchell Hashimoto
|
e6564dfd11
|
fix some resize crashes
|
2022-09-04 09:43:20 -07:00 |
|
Mitchell Hashimoto
|
f417659368
|
on resize, if rows increasing, handle that first
|
2022-09-03 22:33:20 -07:00 |
|
Mitchell Hashimoto
|
f3f60e47d1
|
clearHistory
|
2022-09-03 21:40:03 -07:00 |
|
Mitchell Hashimoto
|
6373900dfa
|
comment on screen struct
|
2022-09-03 21:35:43 -07:00 |
|
Mitchell Hashimoto
|
c0e36bedd6
|
remove dirty for now
|
2022-09-03 21:26:49 -07:00 |
|
Mitchell Hashimoto
|
3d0ec16ad4
|
resize with shrinking cols
|
2022-09-03 21:25:06 -07:00 |
|
Mitchell Hashimoto
|
7134ddec4e
|
resize less rows
|
2022-09-03 17:59:24 -07:00 |
|
Mitchell Hashimoto
|
1121438d8a
|
maybe clean up resize more cols
|
2022-09-03 17:50:04 -07:00 |
|
Mitchell Hashimoto
|
d6e243cde1
|
resize with reflow more cols
|
2022-09-03 17:28:26 -07:00 |
|
Mitchell Hashimoto
|
2583b8cb65
|
fix y pos on resize
|
2022-09-03 12:25:26 -07:00 |
|
Mitchell Hashimoto
|
41f2b756ae
|
fix scrolling and new row calculation
|
2022-09-03 12:18:45 -07:00 |
|
Mitchell Hashimoto
|
d22a323896
|
clean up some assertions
|
2022-09-01 23:25:51 -07:00 |
|
Mitchell Hashimoto
|
8d6e8eb0aa
|
asserts not being optimized away, use comptime gate
|
2022-09-01 22:21:54 -07:00 |
|
Mitchell Hashimoto
|
57725cf3a4
|
cache row iterator max value
|
2022-09-01 22:05:42 -07:00 |
|
Mitchell Hashimoto
|
5aa6d79519
|
screen: cache history offset
This is a super hot calculation so taking up memory to cache it resulted
in 15m less function calls when catting a 10mb file, and ~5% speedup.
|
2022-09-01 21:36:59 -07:00 |
|
Mitchell Hashimoto
|
73581eee0b
|
small optimizations
|
2022-09-01 18:36:27 -07:00 |
|
Mitchell Hashimoto
|
30a14d230e
|
process ASCII events manually to avoid function call overhead
|
2022-09-01 17:53:40 -07:00 |
|
Mitchell Hashimoto
|
d404be2993
|
grow our scrollback much faster
|
2022-09-01 01:15:20 -07:00 |
|
Mitchell Hashimoto
|
dba027d307
|
resize should maintain minimum of screen rows
|
2022-09-01 01:09:06 -07:00 |
|
Mitchell Hashimoto
|
77c8ec0a20
|
the big screen switchover
|
2022-09-01 00:58:47 -07:00 |
|
Mitchell Hashimoto
|
36140d3ee9
|
TODO
|
2022-08-29 20:26:02 -07:00 |
|
Mitchell Hashimoto
|
0505018186
|
Line segmentation into text runs
|
2022-08-29 16:39:48 -07:00 |
|
Mitchell Hashimoto
|
65df657b4e
|
make cell attrs bools instead of u1s
|
2022-08-26 11:09:48 -07:00 |
|
Mitchell Hashimoto
|
46bbab5d10
|
ignore zero-width characters for now
|
2022-08-24 13:48:22 -07:00 |
|
Mitchell Hashimoto
|
28072157d5
|
selection of wide chars and copy/paste works
|
2022-08-20 17:10:10 -07:00 |
|
Mitchell Hashimoto
|
da79aae0ab
|
terminal: print wide characters
|
2022-08-20 16:11:48 -07:00 |
|
Mitchell Hashimoto
|
ad1cdbcd59
|
implement erase display scrollback ("clear" command)
|
2022-08-09 09:22:34 -07:00 |
|
Mitchell Hashimoto
|
fb5afbedd2
|
add screen .history tag to fetch scrollback region
|
2022-08-09 09:18:10 -07:00 |
|
Mitchell Hashimoto
|
38af14ff3a
|
resize alt screen without reflow
|
2022-08-08 21:14:27 -07:00 |
|
Mitchell Hashimoto
|
f82493cccf
|
when growing cols, adjust viewport and cursor if we shorten
|
2022-08-08 20:52:36 -07:00 |
|
Mitchell Hashimoto
|
16a5a45293
|
when growing rows, offset cursor by added rows
|
2022-08-08 18:14:11 -07:00 |
|
Mitchell Hashimoto
|
d551f1126b
|
when less cols, cursor needs to be in screen space, not viewport
|
2022-08-08 17:47:16 -07:00 |
|
Mitchell Hashimoto
|
113b5a318b
|
when shrinking rows, clear empty space from the end (see test case)
|
2022-08-08 17:24:10 -07:00 |
|
Mitchell Hashimoto
|
a2cf116063
|
fix a crash when reflowing to smaller cols but still buggy
|
2022-08-08 14:20:52 -07:00 |
|
Mitchell Hashimoto
|
f3d3d255fb
|
handle case where cursor is past where content is on col shrink
|
2022-08-08 14:08:01 -07:00 |
|
Mitchell Hashimoto
|
9493561159
|
assertions to save our bacon
|
2022-08-08 14:03:14 -07:00 |
|
Mitchell Hashimoto
|
e4c8bbd394
|
reflow cursor when shrinking cols
|
2022-08-08 14:02:28 -07:00 |
|
Mitchell Hashimoto
|
6fa4cb07c7
|
more cursor reflow
|
2022-08-08 13:56:09 -07:00 |
|