Mitchell Hashimoto
df088c67f4
terminal/tmux: block output notifications
2024-07-12 14:04:56 -07:00
Mitchell Hashimoto
057dc32c71
terminal/tmux: many more notifications
2024-07-12 11:57:37 -07:00
Mitchell Hashimoto
bc7bc15120
terminal/tmux: parse session-changed notification
2024-07-12 10:22:59 -07:00
Mitchell Hashimoto
8c3559ecff
terminal: move tmux control mode parsing out to dedicated file
2024-07-12 09:49:59 -07:00
Mitchell Hashimoto
1ea25c5c64
terminal: tmux parsing handles begin/end blocks
2024-07-11 20:53:50 -07:00
Mitchell Hashimoto
f4db5009d6
terminal: dcs state cleanup in deinit
2024-07-11 19:09:55 -07:00
Mitchell Hashimoto
88d055452b
terminal: tmux enter/exit
2024-07-11 19:02:33 -07:00
Mitchell Hashimoto
ff43609097
terminal: boilerplate for tmux control mode parsing
2024-07-11 18:58:25 -07:00
Mitchell Hashimoto
f375bf009c
terminal: all DCS events can produce a command
2024-07-11 18:53:42 -07:00
Mitchell Hashimoto
01e1538ad3
terminal: dcs put can return a command
2024-07-11 18:42:22 -07:00
Mitchell Hashimoto
38d33a761b
terminal: test DCS to make sure we don't regress
2024-07-11 18:34:05 -07:00
Mitchell Hashimoto
c28470e98a
terminal: DCS parses params correctly
2024-07-11 18:29:14 -07:00
Mitchell Hashimoto
54034468b7
terminal: remove errdefer deleted call for refcountedset
2024-07-09 09:07:28 -07:00
Qwerasd
8589f2c0fb
terminal/PageList: rework reflow logic to fix issues
...
Reflow logic now lives inside of ReflowCursor. This fixes multiple
issues with the previous implementation, and is more straightforward
in how it works. The old impl resulted in fragmentation of pages,
leading to unbounded memory growth when resizing repeatedly.
Also improves the preserved_cursor logic in `resizeCols`.
2024-07-08 22:35:15 -04:00
Qwerasd
10dbca9464
terminal/PageList: fix some incorrect test expectations
2024-07-08 22:29:55 -04:00
Qwerasd
be99e50c50
terminal/PageList: add method for logging debug diagrams
2024-07-08 22:28:16 -04:00
Qwerasd
6f1a2d1e8e
terminal/Screen: fix trailing blank cell handling for wrapped rows in dumpString
2024-07-08 22:26:36 -04:00
Qwerasd
730185b212
terminal: spacer heads and tails should be codepoint 0, not ' '
2024-07-08 22:25:39 -04:00
Qwerasd
0cee115ba3
terminal/page: use addWithIdContext when cloning hyperlink data
2024-07-08 22:22:18 -04:00
Qwerasd
29e6dcdee5
terminal/page: add methods to get hyperlink and grapheme map capacities
2024-07-08 22:20:31 -04:00
Qwerasd
11c8bdc00e
BitmapAllocator: slightly improve findFreeChunks mask calculation
2024-07-08 22:17:56 -04:00
Qwerasd
a9aef11b4b
RefCountedSet: add some missing context delete callbacks
2024-07-08 22:15:31 -04:00
Mitchell Hashimoto
4a861a8c8f
terminal: hyperlink capacity adjustment needs to call safe variant
2024-07-06 08:47:22 -07:00
Mitchell Hashimoto
d79bbaac68
terminal: adjustCapacity handles hyperlink state
2024-07-05 21:44:30 -07:00
Mitchell Hashimoto
251ec0c9f3
terminal: on print, adjust page size if we need to grow for hyperlinks
2024-07-05 21:40:40 -07:00
Mitchell Hashimoto
a6051b931e
terminal: disable zombie styles integrity check
2024-07-05 21:40:40 -07:00
Mitchell Hashimoto
4f099af76f
terminal: set hyperlink state on clone
2024-07-05 21:40:40 -07:00
Mitchell Hashimoto
cdb838ea85
terminal: pause integrity checks on resize for hyperlink set
2024-07-05 21:40:40 -07:00
Mitchell Hashimoto
eed9c23acd
terminal: RefCountedSet checks for existence prior to cap check
2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
b0f99307d3
terminal: pause integrity checks in clone row until done
2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
ff9ab70091
terminal: end hyperlink state when switching screens
2024-07-05 21:40:39 -07:00
Mitchell Hashimoto
8b02d3430c
terminal: copy hyperlinks on reflow
2024-07-05 21:40:39 -07:00
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