Mitchell Hashimoto
36756cc866
terminal: charset table should be len 256, not 255
2023-08-31 20:45:13 -07:00
Mitchell Hashimoto
f4fef559fb
terminal: delete lines outside of scroll region should do nothing
2023-08-31 20:41:32 -07:00
Mitchell Hashimoto
65246327dd
terminal: add more assertions
2023-08-31 19:45:22 -07:00
Mitchell Hashimoto
6c13627d51
terminal: delete chars (CSI P) tested, fixes many issues
2023-08-31 19:42:23 -07:00
Mitchell Hashimoto
0aebf1e406
terminal: CSI S allows for count greater than scroll region height
2023-08-31 17:52:22 -07:00
Mitchell Hashimoto
d05381db83
remove some unreachables, log errors to avoid crashes
...
These are still TODO but we don't want to crash on bad input.
2023-08-31 14:55:27 -07:00
Mitchell Hashimoto
2d6fae0466
Merge pull request #369 from mitchellh/kitty-page-up
...
input: kitty keymap was missing page up/down
2023-08-31 14:36:01 -07:00
Mitchell Hashimoto
67bc9f59ed
input: kitty keymap was missing page up/down
2023-08-31 14:32:42 -07:00
Mitchell Hashimoto
369ffebb72
input: when overwriting a binding, we must update the reverse map
2023-08-31 13:08:33 -07:00
Mitchell Hashimoto
60f8eca12d
Merge pull request #368 from mitchellh/macos-sync
...
macos: sync keybindings with Mac menu items
2023-08-31 12:53:46 -07:00
Mitchell Hashimoto
fe5da86bb0
input: maintain a reverse mapping to quickly look up trigger by action
2023-08-31 12:45:43 -07:00
Mitchell Hashimoto
b7508cdc66
macos: setup delegate for app state, config reload callback
2023-08-31 11:56:15 -07:00
Mitchell Hashimoto
10aaf8bd35
macos: sync all remaining menu items
2023-08-31 11:44:43 -07:00
Mitchell Hashimoto
76053460d5
macos: sync File menu
2023-08-31 11:40:21 -07:00
Mitchell Hashimoto
22b925223a
macos: sync many more menu items
2023-08-31 11:33:58 -07:00
Mitchell Hashimoto
c43c3741d9
Merge pull request #365 from mitchellh/goonz/fix-zomby-subprocesses
...
termio/exec: don't leak zombie subprocesses
2023-08-31 11:17:01 -07:00
Mitchell Hashimoto
c7071a1da2
macos: complete lookup table for key equivalents
2023-08-31 11:14:07 -07:00
Will Pragnell
2e54ad2cce
command: only spin on waitpid if it's non-blocking
2023-08-31 07:51:50 -07:00
Mitchell Hashimoto
52396304ff
macos: begin syncing menuitem key equivalents
2023-08-30 22:45:29 -07:00
Mitchell Hashimoto
ba883ce39a
add ghostty_config_trigger C API to find a trigger for an action
2023-08-30 22:14:44 -07:00
Mitchell Hashimoto
c71979804e
apprt/embedded: ghostty_surface_binding_action can now run any action
2023-08-30 21:46:38 -07:00
Mitchell Hashimoto
17e46bf0f4
input: move action parsing to dedicating Action.parse
2023-08-30 21:39:25 -07:00
Will Pragnell
aa9e12dac2
termio/exec: don't leak zombie subprocesses
2023-08-30 21:37:38 -07:00
Mitchell Hashimoto
3352cae3f7
terminal: resize more cols no longer preserves trailing stylized cells
2023-08-30 15:55:43 -07:00
Mitchell Hashimoto
982da61ed2
Merge pull request #363 from mitchellh/fix-sgr
...
terminal: sgr parsing doesn't parse 4-form 48, allows unstyled underline
2023-08-30 15:06:49 -07:00
Mitchell Hashimoto
c18527384e
terminal: sgr parsing doesn't parse 4-form 48, allows unstyled underline
...
Fixes #362
We previously tried to parse 4-form 48, but as far as I can tell this is
never used anyways and in this real world scenario it expected us to
parse a 3-form followed by an underline. This fixes the real world
scenario as priority and adds a test.
This also fixes an issue where single form colon underline may actually
exist, again from a real world scenario.
2023-08-30 14:58:44 -07:00
Mitchell Hashimoto
fb2d4faa03
terminal: add contrast function based on w3c
2023-08-30 10:18:18 -07:00
Mitchell Hashimoto
0e8412ec19
terminal: add w3c luminance formula
2023-08-30 10:10:45 -07:00
Mitchell Hashimoto
3391908a82
terminal: get rid of duplicate RGB struct
2023-08-30 08:48:57 -07:00
Mitchell Hashimoto
e2fae7ab2b
surface should default to default cursor, blinking should check selected
2023-08-30 08:12:38 -07:00
Mitchell Hashimoto
e9f94bab21
Merge pull request #360 from mitchellh/tabstops
...
terminal: tabstops were off by one
2023-08-29 20:36:22 -07:00
Mitchell Hashimoto
7e846bd367
terminal: tabstops were off by one
...
Fixes #359
See #359 for a test script. The unit tests were also wrong. I used the
test script in #359 to verify the exact column that tabstops should be
set at.
2023-08-29 20:18:54 -07:00
Mitchell Hashimoto
5583859332
Merge pull request #358 from mitchellh/lig-flash
...
Ligature shaping fixes
2023-08-29 14:16:15 -07:00
Mitchell Hashimoto
ed5c001690
font/shaper: split ligature around cell style change
2023-08-29 14:09:21 -07:00
Mitchell Hashimoto
ae0de7bce4
renderer: split ligature around cursor even if cursor is flashing
...
Fixes #356
2023-08-29 13:49:14 -07:00
Mitchell Hashimoto
2ad9f76749
Merge pull request #355 from mitchellh/box-cras
...
font/sprite: fix horizontal dash drawing math for cells too small
2023-08-29 11:32:56 -07:00
Mitchell Hashimoto
4ed240515c
font/sprite: fix horizontal dash drawing math for cells too small
...
Fixes #143
There were multiple issues with the previous calculation. First, we
expected dash width COULD be negative and protected against it, but our
dash width calculation type was unsigned! With the proper font metrics,
this led to an underflow safey panic.
Second, as part of the dash width calculation, we are tryign to downstep
the size of the gaps so we can try to fit dashes within a cell. But we
were not using those adjusted gap sizes. With the proper font metrics,
this could lead to an assertion failure seen in #143 .
This fixes the calculations. They produce the same numbers, but do so in
a more Zig-idiomatic way while fixing the above two issues.
2023-08-29 11:25:49 -07:00
Mitchell Hashimoto
a8dc663bd7
Merge pull request #350 from moderation/main
...
vendor: update zlib
2023-08-28 14:19:37 -07:00
moderation
0f4202c7f1
vendor: update zlib
...
Signed-off-by: moderation <michael@sooper.org>
2023-08-28 13:20:06 -07:00
Mitchell Hashimoto
0204d94921
Merge pull request #349 from mitchellh/sync
...
Synchronized Output Sequence
2023-08-28 13:15:50 -07:00
Mitchell Hashimoto
0feac5d6cf
termio/exec: disable synchronized output mode on resize
2023-08-28 11:43:28 -07:00
Mitchell Hashimoto
5168dc7645
renderer: do not render if synchronized output is on
2023-08-28 11:38:11 -07:00
Mitchell Hashimoto
2cc1e43716
termio: handle all the synchronized output setting, timer
2023-08-28 11:35:40 -07:00
Mitchell Hashimoto
91c2d6fcbd
Merge pull request #348 from mitchellh/cc-term_program_env
...
Set TERM_PROGRAM and TERM_PROGRAM_VERSION environment variables
2023-08-28 11:34:08 -07:00
cryptocode
bdafd2dc8b
Add comment explaining the purpose of the env variables
2023-08-28 20:25:44 +02:00
cryptocode
dfe21dcac4
Set TERM_PROGRAM and TERM_PROGRAM_VERSION environment variables.
...
WezTerm claims this is an emerging de-facto standard for terminal emulator identification:
a103b6d97a/config/src/config.rs (L1526-L1529)
One example of usage in the wild is neovim doing capability detection:
f050aaabbb/src/nvim/tui/tui.c (L206-L211)
Ghostty now reports this:
$echo $TERM_PROGRAM
ghostty
$echo $TERM_PROGRAM_VERSION
0.1.0-main+aa08f3c
I think it's really nice that the commit hash is included, as users can provide this in issue reports. WezTerm does the same.
I use these variables in my tui library in addition to $TERM and $COLORTERM for capability detection, which is what motivated this PR.
2023-08-28 20:16:46 +02:00
Mitchell Hashimoto
8ad98bb9ca
Merge pull request #347 from mitchellh/cursor-style
...
Add option for custom cursor style
2023-08-28 10:44:56 -07:00
SoraTenshi
ead70eadae
Add Caveat information for shell integration
2023-08-28 19:44:01 +02:00
SoraTenshi
fcf1537f82
config: Add option for custom cursor style
2023-08-28 18:20:45 +02:00
Mitchell Hashimoto
3b9d5d27ad
terminal: implement DECRQM (request mode)
2023-08-28 08:50:11 -07:00