1811 Commits

Author SHA1 Message Date
Mitchell Hashimoto
aad8483323 build: use tic to compile terminfo into database format 2023-06-24 09:45:26 -07:00
Mitchell Hashimoto
21d922304b build: build.zig encodes and writes the terminfo source 2023-06-24 09:12:42 -07:00
Mitchell Hashimoto
ea67b4aa48 terminfo: working on Ghostty's terminfo 2023-06-24 08:59:05 -07:00
Mitchell Hashimoto
3ec8ce8063 terminfo: basic Source structure and can encode 2023-06-23 19:22:16 -07:00
Mitchell Hashimoto
8d40fba9ce terminal: correct assertion for scrollUp 2023-06-23 14:06:40 -07:00
Mitchell Hashimoto
30fdbaebf4 font: run splitting needs to detect italics 2023-06-23 13:56:07 -07:00
Mitchell Hashimoto
6e79e84acf config file quoted strings are accepted now 2023-06-23 13:45:48 -07:00
Mitchell Hashimoto
ce47bdb874 log emoji font as info, log that fonts are using default 2023-06-23 13:18:29 -07:00
Mitchell Hashimoto
1d45df17e4 font: underline sprites should never go out of bounds for canvas 2023-06-22 20:11:57 -07:00
Mitchell Hashimoto
111c68dafe Merge pull request #151 from mitchellh/underline
Properly render curly underline and double underline with fonts with very low underline position metric
2023-06-22 16:21:30 -07:00
Mitchell Hashimoto
43554c1b64 font: remove old logging 2023-06-22 16:07:43 -07:00
Mitchell Hashimoto
e810a7bf91 font: fix double underline drawing with very low underline positions 2023-06-22 16:07:10 -07:00
Mitchell Hashimoto
cfb8108279 font: curly underline has a minimum wave height
This fixes rendering issues with some fonts where the underline position
is too close to the bottom of the cell causing a very shallow curl.
2023-06-22 16:01:00 -07:00
Mitchell Hashimoto
47ee395688 Merge pull request #150 from mitchellh/underline-color
Colored Underlines
2023-06-20 09:52:06 -07:00
Mitchell Hashimoto
86705a181a finalize comments 2023-06-20 09:40:50 -07:00
Mitchell Hashimoto
1c2451b532 renderer: render underline color if set 2023-06-20 09:39:52 -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
0044776700 update cachix action for macos 12 2023-06-17 13:59:44 -07:00
Mitchell Hashimoto
8aaee518fd update zig version 2023-06-16 17:03:46 -07:00
Mitchell Hashimoto
01de38b20d font: if CoreText needs to allocate, stack allocate and log 2023-05-31 22:03:27 -07:00
Mitchell Hashimoto
d903e4a43b Merge pull request #149 from mitchellh/osc7
OSC 7 (report pwd) and new Window/Tab/Split uses current cwd
2023-05-31 21:16:37 -07:00
Mitchell Hashimoto
c58e2f7aec update README 2023-05-31 21:11:40 -07:00
Mitchell Hashimoto
f31d6fb8fe apprt: clean up how apprt initializes surfaces 2023-05-31 21:08:50 -07:00
Mitchell Hashimoto
0fca74c089 apprt/glfw: inherit working dir 2023-05-31 19:18:55 -07:00
Mitchell Hashimoto
866de88ee6 termio/exec: check cwd validity 2023-05-31 19:17:08 -07:00
Mitchell Hashimoto
553e09eff9 apprt/embedded: new surfaces inherit last focused 2023-05-31 19:12:01 -07:00
Mitchell Hashimoto
a158813a3d app keeps track of last focused surface 2023-05-31 18:59:40 -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
df47606a8a Merge pull request #148 from mitchellh/prompt-redraw
Semantic Prompt Redraw
2023-05-31 16:34:58 -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
498cd7df7c update zig 2023-05-31 15:26:01 -07:00
Mitchell Hashimoto
ecb140cc6d Merge pull request #147 from mrnugget/mrn/ctrl_left_bracket
Handle non-printable characters when ctrl is pressed
2023-05-30 21:36:36 -07:00
Thorsten Ball
1d772d1717 Handle non-printable characters when ctrl is pressed
This extends the list of characters we convert to non-printable
characters when control is pressed by adding `backslash`,
`left_bracket`, `right_bracket` to the list.

This is based on the "Legacy `ctrl` mapping of ASCII keys" section in
the Kitty documentation [0]. That page also links to the VT100
documentation [1] that contains Table 3-5, which shows the same mappings
at the Kitty documentation.

I started out wanting to add only `left_bracket` because I very often
use ctrl+[ to escape insert mode in Vim (it maps to escape), but then
added `backslash`, `right_bracket` too because they're next in the list
and having `ctrl+right_bracket` mapped also makes it work in Vim as the
default go-to-def combination.

Why not complete the whole table? Some keys aren't yet handled in
`input.zig`, such as `circumflex` (not defined), and mitchellh said that
it'd require more elaborate handling of different keyboard layouts. So
instead of adding something that might be wrong, I tried to add what I
knew (and tested) to work.

[0]: https://sw.kovidgoyal.net/kitty/keyboard-protocol/#legacy-ctrl-mapping-of-ascii-keys
[1]: https://vt100.net/docs/vt100-ug/chapter3.html
2023-05-31 06:24:19 +02:00
Mitchell Hashimoto
7116ce0806 update zig version 2023-05-29 08:24:12 -07:00
Mitchell Hashimoto
5acf7eb8fd apprt/embedded: clipboard value can be null 2023-05-28 10:20:59 -07:00
Mitchell Hashimoto
d29fd9f38c Update README.md 2023-05-27 16:59:26 -07:00
Mitchell Hashimoto
56928b926a terminal: don't log semantic prompt marks 2023-05-27 16:55:19 -07:00
Mitchell Hashimoto
020e096243 Merge pull request #146 from mitchellh/semantic-prompt
Semantic Prompt (OSC 133) Integration
2023-05-27 16:53:49 -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
e998e053b1 mac: fix split initial focus
When making a split, the window focus doesn't change so the new splits
were defaulting to "false" (not focused). Let's just assume when a
surface is created that it is in fact focused. This generally fixes the
issue.

If we ever programmatically create splits in background windows this
will probably fail so we should find a way on View init to detect if the
window has focus.
2023-05-27 14:37:00 -07:00
Mitchell Hashimoto
77dcc10f80 linux: fit gtk/flatpak builds 2023-05-27 10:01:20 -07:00
Mitchell Hashimoto
57d8754c85 update required zig version in build.zig 2023-05-27 09:31:47 -07:00
Mitchell Hashimoto
ac703d063b update flatpak zig binary URLs 2023-05-27 09:31:00 -07:00