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