Fixes#2651
First, our OSC parser didn't allow blank OSC 0 or 2 requests. This
should be allowed and this fixes that with a test.
Second, it seems many terminals (iTerm2, Kitty) treat setting a blank
title as resetting to whatever the default title is rather than
explicitly setting it as blank. If a program wants a title to be blank
they should send a single space. This commit follows this behavior.
The bug: ctrl+shift+enter on macOS 15 shows a context menu and doesn't
encode to the terminal.
This avoids a system-wide keybind that shows a context menu in macOS
15+. In general Ghostty doesn't try to override system-wide keybinds
but this one is particularly annoying and not useful to terminal users.
We've discussed making this logic configurable for all system level
keybinds but for now this is a quick fix specifically for
ctrl+shift+enter.
- break formatting values out into a function so that we can
catch errors and never fail
- eliminate the use of toOwnedSentinelSlice since we are using
an arena to clean up memory
Prior to this change both C and c would copy the path to the theme even though
the help screen claimed that c would copy the theme name.
There is a bug in libvaxis that results in both of these matches matching c:
`key.matches('c', .{})`
`key.matches('c', .{ .shift = true })`
Tested:
Before the change: 'c' copies path and 'C' copies path
After the change: 'c' copies the name and 'C' copies the path
I hit an edge case when using Private Wi-Fi addressing on macOS where
the last section of the randomized mac address starts with a '0'. The
hostname parsing for the shell integration didn't handle this case, so
issue #2512 reappeared.
This fixes that by explicitly handling port numbers < 10.
This is more correct: a pagelist is a linked list of nodes, not pages.
The nodes themselves contain pages but we were previously calling the
nodes "pages" which was confusing, especially as I plan some future
changes to the way pages are stored.
addresses #2561 - adds support for most Git branch drawing characters as
specified in 
except for fading vertical and horizontal lines.
Adds git_draw_node function and a new Git node type.
Add this range (0xf5d0...0xf60d) for Git branch characters, to tests.
adds vline_middle_xy and hline_middle_xy for node connections.
add git characters to Face.zig.