1294 Commits

Author SHA1 Message Date
Mitchell Hashimoto
925ad5b45c renderer: match multiple lines for osc8 2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
041c779512 renderer: matchSet matches OSC8 2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
f777e42af2 terminal: page clone needs to clone strings 2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
961a4b6b31 terminal: support page oom with hyperlinks 2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
d7e089e2aa terminal: simplify hyperlink capacity 2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
365567b3c6 terminal: increase std cap for now until we implement resize 2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
245314b14e termio: hook up OSC8 2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
f920068ce6 terminal: full reset clears OSC8 state 2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
d9e654da4a terminal: scrollUp hyperlink tests 2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
84edaed690 terminal: scrollDown with hyperlinks 2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
bac1307c4b terminal: index hyperlink tests 2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
96ff17a9b4 terminal: save/restore cursor doesn't modify hyperlink state 2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
57c5522a6b terminal: handle moving/swapping/clearing cells with hyperlinks 2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
e2133cbd92 terminal: row needs hyperlink state, test clearing hyperlink 2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
a3a445a066 terminal: print sets hyperlink state, tests 2024-07-05 21:40:38 -07:00
Mitchell Hashimoto
6fc9e92dba terminal: hyperlink deleted callback frees string memory 2024-07-05 21:40:37 -07:00
Mitchell Hashimoto
c880bb6f45 terminal: test hyperlink reuse shares ID 2024-07-05 21:40:37 -07:00
Mitchell Hashimoto
548850e453 terminal: RefCountedSet should call deleted on upsert 2024-07-05 21:39:56 -07:00
Mitchell Hashimoto
d1f41e2035 terminal: hyperlink start/end on screen 2024-07-05 21:39:55 -07:00
Mitchell Hashimoto
51c05aeb99 terminal: RefCountedSet doesn't need to pass base anymore 2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
2e41afc787 terminal: RefCountedSet has Context variant methods 2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
cb1caff018 terminal: refcountedset passes base memory to all context funcs
This enables these funcs to access memory offsets that may be present in
set items, which is possible since the set itself is in an offset-based
structure.
2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
2a7755c515 terminal: hyperlink data structures beginning, alloc into page 2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
a71b487d58 terminal: add strings table to page 2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
69705cbced terminal: remove the hyperlink stuff i'm starting over 2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
75e1655228 terminal: change default hyperlink count to zero 2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
25d1e861ec terminal: page memory layout for uri/hyperlink data 2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
6c7b7843e9 terminal: additional parse test cases 2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
f8e74a563a terminal: parse osc8 end 2024-07-05 21:39:07 -07:00
Mitchell Hashimoto
58173c9df5 terminal: parse osc 8 hyperlink_start 2024-07-05 21:39:06 -07:00
Mitchell Hashimoto
dea8859e2c Merge pull request #1925 from ghostty-org/styleref
terminal: when adjusting page capacity, account for cursor ref counts
2024-07-05 21:38:54 -07:00
Mitchell Hashimoto
92ffa9af13 terminal: when adjusting page capacity, account for cursor ref counts
This fixes an issue where when we adjusted the capacity of the page, the
style ref count would be off by one (short by one).

The issue is that when adjusting the capacity of a page, it happens on
PageList which is unware of cursor state and therefore can't ensure to
reference the active style.

This creates an `adjustCapacity` call on `Screen` which can properly
handle this scenario.
2024-07-05 21:33:05 -07:00
Mitchell Hashimoto
3fc08aa660 terminal/kitty: intersect cell deletion is 1-based 2024-07-05 19:08:33 -07:00
Mitchell Hashimoto
c02481530a terminal: Pin.isBetween incorrect if same y and same page 2024-07-05 19:06:57 -07:00
Mitchell Hashimoto
44c95cbf7d terminal/kitty: delete by column/row is one-indexed 2024-07-05 18:59:21 -07:00
Mitchell Hashimoto
f4eea71859 terminal/kitty: image dimensions off by one fix
We weren't counting the original x/y as width 1.
2024-07-05 18:58:56 -07:00
Mitchell Hashimoto
1a22bc7f3b terminal: if cloned screen is subset of selection, select full screen
Fixes #1859
2024-06-25 09:45:36 -07:00
Mitchell Hashimoto
b62806360b terminal: add test for pagelist to clear styles 2024-06-24 20:58:11 -07:00
Mitchell Hashimoto
368960d76a use +% for overflow 2024-06-24 20:37:11 -07:00
Mitchell Hashimoto
44c75931b4 terminal: ref counted set count is const 2024-06-24 20:33:28 -07:00
Qwerasd
93b038f490 fix(RefCountedSet): add NeedsRehash error and fix PSL counting bug
Prevent bad input from causing repeated OutOfMemory errors by erroring
with NeedsRehash instead when there are unused dead IDs available.

Additionally, properly decrement PSL stats when reviving dead IDs.
2024-06-24 20:32:22 -07:00
Qwerasd
35793ee7cc page integrity checks: detect zombie styles 2024-06-24 20:32:22 -07:00
Qwerasd
6f732cca55 RefCountedSet: use usize for cap to allow up to max Id+1 2024-06-24 20:32:22 -07:00
Qwerasd
a7e6f1a070 fix(terminal/PageList): clear cells in truncated rows during clone
Previously this was a memory leak, styles and graphemes in these rows
were never reclaimed.
2024-06-24 20:32:21 -07:00
Mitchell Hashimoto
53423f1071 0.13 conversions 2024-06-24 15:16:24 -07:00
Mitchell Hashimoto
d019bacb18 terminal: RefCountedSize should use usize for byte math
Related to #1873
2024-06-24 10:39:55 -07:00
Mitchell Hashimoto
af132a3838 Merge pull request #1872 from qwerasd205/various-performance
Various Performance Changes
2024-06-23 09:51:21 -07:00
Mitchell Hashimoto
eebc7d4c3a small stylistic changes 2024-06-23 09:44:54 -07:00
Mitchell Hashimoto
9271fd50b6 cache_table and ref_counted_set work on 32-bit machines 2024-06-22 20:45:30 -07:00
Qwerasd
9741b3a18c perf: introduce RefCountedSet structure, use it for Style.Set 2024-06-13 22:59:03 -04:00