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
Mitchell Hashimoto
d4057522ee
screen: resize more rows preserves soft wrapped flag
2023-03-01 09:18:26 -08:00
Mitchell Hashimoto
5f9ab91466
screen: fix issue with resizing w/ more cols, reflow, and scrollback
2023-03-01 09:08:08 -08:00
Mitchell Hashimoto
1970a84960
screen: when resizing and trimming scrollback, have to offset cursor Y
...
When the scrollback is trimmed off the top, the y stops moving. This
would cause an assertion failure because y could be greater than the row
count! The test case tests this.
2023-02-28 22:28:27 -08:00
Mitchell Hashimoto
87e0f5589f
screen clone should not make full requested height "written"
...
Previously, the screen clone would incidentally mark the full height as
"written" which would cause resize to create scrollback because it was
trying to preserve prior rows. A clone should not "write" any data. This
modifies the clone operation to create a screen with the correct height
but only copy data actually written.
2023-02-28 17:10:28 -08:00
Mitchell Hashimoto
ce86c64b42
update zig, src for loops
2023-02-27 21:46:42 -08:00
Mitchell Hashimoto
df52fae76a
terminal: check OSC parser for tmux 112 sequences from HN
...
Saw this on HN:
https://github.com/darrenstarr/VtNetCore/pull/14
I wanted to see if ghostty was vulnerable to it (it is not). But, its a
good example of a weird edge case in the wild and I wanted to make sure
it was redundantly tested. It looks like we read the "spec" (blog posts,
man pages, source of other terminal using tools, etc.) right.
2023-01-17 21:47:38 -08:00
Mitchell Hashimoto
e210c91d10
update zig version, update @call for newer zig version
2022-12-16 22:34:54 -08:00
Mitchell Hashimoto
ad9b773cd8
terminal: printing char outside of ASCII with non-UTF8 charset is space
2022-12-14 21:50:32 -08:00
Mitchell Hashimoto
4fae29ff13
terminal: scrollRegionUp outside of range does nothing
2022-12-14 21:43:47 -08:00