598 Commits

Author SHA1 Message Date
Mitchell Hashimoto
cbded6a95a terminal: horizontalTabBack function 2023-06-25 09:49:18 -07:00
Mitchell Hashimoto
c6356930cc renderer: support invisible attribute 2023-06-25 09:31:33 -07:00
Mitchell Hashimoto
aafff194f9 terminal: SGR parse invisible (attr 8, 28) 2023-06-25 09:19:43 -07:00
Mitchell Hashimoto
60d4024d64 terminal: reset CSI param separator in parser on clear 2023-06-24 15:16:54 -07:00
Mitchell Hashimoto
97df179b04 terminfo: switch to semicolon SGR 48 to prevent render issues 2023-06-24 15:04:33 -07:00
Mitchell Hashimoto
8d40fba9ce terminal: correct assertion for scrollUp 2023-06-23 14:06:40 -07:00
Mitchell Hashimoto
86705a181a finalize comments 2023-06-20 09:40:50 -07:00
Mitchell Hashimoto
860209e968 terminal: track underline color on cell 2023-06-20 09:37:58 -07:00
Mitchell Hashimoto
b9bc61c0a4 terminal: parse underline color sequences (but do not handle yet) 2023-06-20 09:34:29 -07:00
Mitchell Hashimoto
28a22fc07f various tests to ensure we parse curly underlines correctly 2023-06-20 09:24:07 -07:00
Mitchell Hashimoto
553e09eff9 apprt/embedded: new surfaces inherit last focused 2023-05-31 19:12:01 -07:00
Mitchell Hashimoto
e59b2f7fca terminal: track pwd reported via OSC 7 2023-05-31 18:54:24 -07:00
Mitchell Hashimoto
b538072972 terminal: osc 7 parsing 2023-05-31 17:32:06 -07:00
Mitchell Hashimoto
e26cb46f4a terminal: tests for semantic prompt on resize 2023-05-31 16:20:30 -07:00
Mitchell Hashimoto
414f2e52a5 terminal: semantic prompt aware resize 2023-05-31 16:16:00 -07:00
Mitchell Hashimoto
283c94f874 terminal: parse OSC 133 A redraw like kitty 2023-05-31 15:39:54 -07:00
Mitchell Hashimoto
56928b926a terminal: don't log semantic prompt marks 2023-05-27 16:55:19 -07:00
Mitchell Hashimoto
7b651627d5 core: surface confirm close logic updated to handle semantic prompts 2023-05-27 16:00:35 -07:00
Mitchell Hashimoto
de00892f8e termio/exec: handle semantic prompt events 2023-05-27 15:48:31 -07:00
Mitchell Hashimoto
4047a90555 terminal: track semantic prompt metadata per row 2023-05-27 15:45:51 -07:00
Mitchell Hashimoto
80402b655c update zig 2023-05-25 21:47:05 -07:00
Mitchell Hashimoto
b196e43ee4 fix some issues for future Zig update 2023-05-19 08:34:07 -07:00
Mitchell Hashimoto
97d9157d22 update zig version 2023-05-07 20:50:51 -07:00
Mitchell Hashimoto
d856aba84c selection toViewport point should extend to end of last row
Fixes #138
2023-03-28 09:30:47 -07:00
Mitchell Hashimoto
01c053d7fc terminal: parser must reset intermediate storage for utf8 2023-03-24 14:47:03 -07:00
Mitchell Hashimoto
5225836415 terminal: selectWord stops at single/double quote boundaries 2023-03-23 10:48:03 -07:00
Mitchell Hashimoto
2be4eb0da7 font/shaper: split runs at selection boundaries 2023-03-23 10:24:22 -07:00
Mitchell Hashimoto
d4cbe88c98 selection: containedRow for getting the row that contains a screen point 2023-03-23 10:01:09 -07:00
Mitchell Hashimoto
bf699dd381 terminal: selection within logic is more correct, better tested
Fixes #108
2023-03-21 19:55:56 -07:00
Mitchell Hashimoto
70236ebc33 terminal: screen scroll with full scrollback modifies selection 2023-03-21 10:59:44 -07:00
Mitchell Hashimoto
dfb40426a0 move selection to screen 2023-03-21 10:43:50 -07:00
Mitchell Hashimoto
b1af02941a terminal: implement focus event mode 1004
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-FocusIn_FocusOut
2023-03-20 15:20:14 -07:00
Mitchell Hashimoto
1b88f7e9ab support mouse alt scroll (mode 1007)
This enables less and other older legacy programs to get mouse scroll
events
2023-03-17 19:10:08 -07:00
Mitchell Hashimoto
f79d9ba3a7 fix regression where BEL is accepted to end OSC sequences 2023-03-17 14:18:34 -07:00
Mitchell Hashimoto
4b57a715b0 terminal: clean up duplicate states in parse table 2023-03-17 14:07:24 -07:00
Mitchell Hashimoto
38cd496c82 terminal: add missing anywhere states to ground, get rid of real state 2023-03-17 13:46:59 -07:00
Mitchell Hashimoto
54d6654d8b terminal: selectLine can select last line with scrollback
We had incorrect logic around when the line you want to select is the
last line and it crashed. A new test case covers this.
2023-03-17 11:07:43 -07:00
Mitchell Hashimoto
4ececc8923 screen: resize rows should use old cols value 2023-03-02 13:46:58 -08:00
Mitchell Hashimoto
5573df4947 terminal: erase display complete needs to reset row wrap state 2023-03-02 13:20:06 -08:00
Mitchell Hashimoto
ba96a2c023 screen: adding cols doesn't mess with the viewport
This was untested anyways, and the result was bugs!
2023-03-01 22:14:19 -08:00
Mitchell Hashimoto
28378a350d screen: shrinking cols trims trailing blank lines 2023-03-01 22:01:42 -08:00
Mitchell Hashimoto
05fe2a83b1 terminal: erase display below should unwrap soft wrapped state 2023-03-01 21:30:31 -08:00
Mitchell Hashimoto
56cb1dd55b screen: correct cursor position with scrollback and less cols 2023-03-01 21:06:33 -08:00
Mitchell Hashimoto
979dc5a439 screen: redo resizing to less columns
This is more performant (prefers fast copies if no wrapping) and keeps
track of the cursor more accurately.
2023-03-01 20:59:35 -08:00
Mitchell Hashimoto
3b586c39c5 screen: grow cols before rows to handle reflow (tested) 2023-03-01 19:45:39 -08:00
Mitchell Hashimoto
74f0e38b57 screen: only trim if we're not wrapping on col growing 2023-03-01 17:42:46 -08:00
Mitchell Hashimoto
9a4a138da0 screen: don't wrap empty-char stylized cells on shrinking cols 2023-03-01 17:34:17 -08:00
Mitchell Hashimoto
31ac3ec7ba screen: when expanding cols, broadcast empty styled cells 2023-03-01 17:24:24 -08:00
Mitchell Hashimoto
89138cf7e3 screen: don't trim blank lines if rows aren't changing 2023-03-01 17:09:57 -08:00
Mitchell Hashimoto
b4d8419feb screen: trim trailing no-character cells when rows is changing
This matches Terminal.app, and makes it so the `ESC [ J` doesn't
generate scrollback on rows change.
2023-03-01 17:07:07 -08:00