Commit Graph

7033 Commits (fe5fb6037478e710e51cb3b058a3bd80f7d58bb5)

Author SHA1 Message Date
Jon Parise fe5fb60374 editorconfig: add swift style
Xcode 16 introduces support for EditorConfig-based editor settings. Many
other editors also support EditorConfig.

In particular, this enables trailing whitespace trimming for Swift
source files.
2024-08-23 14:16:09 -04:00
Mitchell Hashimoto 0e3ecbeaf0
Merge pull request #2138 from ghostty-org/macos-reopen
macos: do not open a window on reopen if terminal manager has any
2024-08-22 23:02:15 -04:00
Mitchell Hashimoto 90d21a6a65
macos: do not open a window on reopen if terminal manager has any
Fixes #2135. See the comment on how this is possible.
2024-08-22 19:58:41 -07:00
Mitchell Hashimoto 80f20712e3
Merge pull request #2137 from ghostty-org/extend-color
renderer: do not extend padding color if any cell has default bg color
2024-08-22 22:49:40 -04:00
Mitchell Hashimoto cff907940f
renderer: do not extend padding color if any cell has default bg color
Before, cells that were explicitly set to match the default bg color
were treated as if they did NOT have the default and extending would
occur. We now check the exact RGB of each cell.
2024-08-22 14:57:46 -07:00
Mitchell Hashimoto 0b87eb7147
Merge pull request #2129 from pnodet/patch-4
style(macos): cleanup trailing spaces
2024-08-22 13:48:01 -04:00
Mitchell Hashimoto 70bf6e7ad9
Merge pull request #2131 from ghostty-org/osc8-resize
terminal: hyperlink state for cursor needs to be preserved on resize
2024-08-22 09:35:58 -04:00
Mitchell Hashimoto 9a287e1589
terminal: hyperlink state for cursor needs to be preserved on resize
When a screen is resized, the pages are generally reallocated. This
causes the cursor hyperlink state to be lost and ultimately the
hyperlink ref count is off by one.

The unit test in this commit showcases the issue very clearly. And you
can see we do this logic already for styles. We never copied it over for
hyperlinks.
2024-08-21 18:29:10 -04:00
pnodet 7ff9af1520
style(macos): cleanup trailing spaces 2024-08-21 21:53:09 +02:00
Mitchell Hashimoto 140d1dde5a
typos 2024-08-21 09:45:47 -04:00
Mitchell Hashimoto 8df5ec10e3
Merge pull request #2113 from jcollie/osc-21
Implement Kitty Color Protocol (OSC 21)
2024-08-21 09:23:23 -04:00
Mitchell Hashimoto 6bf1acc5a2
terminal: move kitty color structs out to kitty package 2024-08-21 09:18:42 -04:00
Mitchell Hashimoto 9faca303dc
termio: move renderer message sending out to separate func 2024-08-21 09:11:20 -04:00
Mitchell Hashimoto e15db88656
termio: use new formatter, palette helper for kitty color protocol 2024-08-20 23:36:45 -04:00
Mitchell Hashimoto e12cfe80b0
terminal: formatter for kitty color protocol kinds 2024-08-20 23:31:34 -04:00
Mitchell Hashimoto 3b2ed40854
terminal: stylistic tweaks to kitty color protocol parsing 2024-08-20 23:21:28 -04:00
Mitchell Hashimoto f4b2925434
terminal: make kitty color tests a bit more readable 2024-08-20 23:06:09 -04:00
Mitchell Hashimoto c9f40b7b8d
Merge pull request #2124 from rockorager/format-keysequences
cli(list-keybinds): format key sequences
2024-08-20 10:45:06 -07:00
Tim Culverhouse 9b036b1763 cli(list-keybinds): format key sequences
Implement formatting of key sequences in the list-keybinds command when
*not* pretty printing. Pretty printing will come in a separate commit.
The print style for that needs some thought, but in the meantime this
removes the panic cause by redirecting output of the command.
2024-08-20 09:48:05 -05:00
Mitchell Hashimoto 4ca0f35b6f
Merge pull request #2123 from ghostty-org/ct-thicken
font/coretext: font-thicken renders with additional padding on context
2024-08-19 20:57:31 -07:00
Mitchell Hashimoto a3247366fb
font/coretext: font-thicken renders with additional padding on context
At certain font sizes, this avoids clipping the text. This is due to a
limitation of the CoreText API, which does not provide a way to measure
the exact size of the text that will be rendered when antialiasing is
enabled.
2024-08-19 20:47:39 -07:00
Mitchell Hashimoto cac22bd173
Merge pull request #2121 from ghostty-org/keyseq
Sequenced Keybindings
2024-08-19 18:08:37 -07:00
Mitchell Hashimoto bec5772d77 config: warn the hazards of '>' for sequences 2024-08-19 12:56:51 -07:00
Mitchell Hashimoto 295ef384a6 core: centralize key sequence ending in one function 2024-08-19 12:41:33 -07:00
Mitchell Hashimoto 99b3e2e844 core: clear pending keyboard sequence when config reloads 2024-08-19 12:33:29 -07:00
Mitchell Hashimoto 454c585eb3 core: handle unconsumed key sequences 2024-08-19 12:28:00 -07:00
Mitchell Hashimoto 4ce7a88dee core: enable key sequence handling, including dumping invalid 2024-08-19 12:22:52 -07:00
Mitchell Hashimoto 3a952de272 core: encodeKey should return a write request 2024-08-19 12:14:29 -07:00
Mitchell Hashimoto 08ba00246b core: release events should never trigger bindings 2024-08-19 12:04:09 -07:00
Mitchell Hashimoto 203e33c416 core: move key handling (w/o bindings) out to a separate func
This is going to let us have a central place we can encode all the
inputs up to an invalid binding.
2024-08-19 10:54:02 -07:00
Mitchell Hashimoto 4201a580f3 core: rework binding handling to prepare for nested binding sets 2024-08-19 10:41:37 -07:00
Mitchell Hashimoto 443a5e12e7
Merge pull request #2119 from bschaatsbergen/d/add-deps-instruction
docs: add installing dependencies
2024-08-19 09:09:20 -07:00
Bruno Schaatsbergen 8fa71d3b90
chore: rm `run` 2024-08-19 18:00:01 +02:00
Bruno Schaatsbergen acb9908e3c
docs: add deps install
Signed-off-by: Bruno Schaatsbergen <git@bschaatsbergen.com>
2024-08-19 09:53:58 -04:00
Jeffrey C. Ollie a2ef0ca751
Address review comments.
- Cap the total number of requests at twice the maximum number of
  keys (currently 263, so 526 requests). Basically you can set and then
  query every key in one message. This is an absurdly high number
  but should prevent serious DOS attacks.
- Clarify meaning of new hex color codes.
- Better handle sending messages to the renderer in a way that should
  prevent deadlocks.
- Handle 0-255 palette color requests by creatively using non-exhautive
  enums.
- Fix an error in the query reply.
2024-08-19 00:22:09 -05:00
Mitchell Hashimoto ec050407ee
input: remove unused struct 2024-08-18 20:58:35 -07:00
Mitchell Hashimoto 2da2cee704
input: remove the old parse method for bindings 2024-08-18 20:58:35 -07:00
Mitchell Hashimoto 6d2cbb0703 config: write the docs now for sequences 2024-08-18 20:30:33 -07:00
Mitchell Hashimoto 9577c8b8b9 core: log when we see a leader 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto 43176c750e config: support equality checking keybinds with sequences 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto 9944f5d34d input: Binding.Set.clone handles leaders 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto bfb31c374e input: binding set needs to clean up leader memory on manual put 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto 2bf20ec32c fix compilation but logic broken 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto 39d91741e0 input: remove todo 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto 2f71eb6f99 input: unwind properly on unbind 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto 64a68eeaff input: more parseAndPut tests 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto c71615c467 input: binding.set can parse sequences... lots TODO 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto 7dfad49e40 input: converting set entries to Entry from Action 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto bc4eab4af7 input: add Set.parseAndPut 2024-08-18 20:30:32 -07:00
Mitchell Hashimoto a798a26063 input: binding parser of sequences 2024-08-18 20:30:32 -07:00