Commit Graph

14646 Commits

Author SHA1 Message Date
Mitchell Hashimoto
6ca80091c5 macos: add root-level .swiftlint.yml (#10890)
In order to support running from both the repository root and from
within Xcode project, and to keep things generally organized, our
primary .swiftlint.yml configuration file lives under macos/.

This change introduces a root-level .swiftlint.yml which limits the file
scope to macos/ and then includes macos/.swiftlint.yml for the rest of
the directives.

This unlocks a few benefits:

- We no longer need to pass an explicit `macos` path argument in any of
our invocations. SwiftLint will do the right thing when run either from
the repository root or from within the macos/ directory.
- It lets us easily exclude the macos/build/ directory (and re-enable
the 'deployment_target' rule). In the previous setup, this was more
challenging than you'd expect due to SwiftLint's path resolution rules
and required passing even more arguments like `--working-directory`.

The only downside is adding a new file to the repository root, but that
feels like the right trade-off given the benefits and conveniences.
2026-02-20 09:43:13 -08:00
Mitchell Hashimoto
d4e5ba8c16 macos: ignore swiftlint 'line_length' rule (#10893)
Also, there are no more outstanding 'mark' issues.
2026-02-20 09:43:02 -08:00
Mitchell Hashimoto
0ac810461a deps: Update uucode to v0.2.0 (with unicode 17) (#10895)
This PR updates `uucode` to v0.2.0, with several new Unicode files being
parsed, various fixes (not affecting Ghostty), `wcwidth` grapheme
support, code point iteration, and finally an upgrade to Unicode 17. As
far as this impacting Ghostty, the Unicode 17 upgrade is the biggest
change, and even that is relatively minor.


31655fba3c...v0.2.0

The only needed change to the configuration is to revert `prepend`
characters to being non-zero width for Ghostty. See the comment.

No AI was used except to check the grammar of the comment. AI was used a
bit in the `uucode` changes, but mostly done by hand and closely
reviewed when used.
2026-02-20 09:42:30 -08:00
ghostty-vouch[bot]
125e96ff9e Update VOUCHED list (#10896)
Triggered by
[comment](https://github.com/ghostty-org/ghostty/issues/10895#issuecomment-3936131923)
from @trag1c.

Vouch: @jacobsandlund

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-20 17:16:14 +00:00
Jacob Sandlund
e06ac6d33e Force prepend to use wcwidth_standalone 2026-02-20 12:12:26 -05:00
Jacob Sandlund
add991b66a Merge remote-tracking branch 'upstream/main' into uucode-unicode-17 2026-02-20 11:55:16 -05:00
Jeffrey C. Ollie
5008d7eb93 Add ghostty_config_get tests (#10891)
I mostly did this to familiarize myself with the codebase and figured it
doesn't hurt to cover this with tests if more added logic in this area,
despite this logic receiving indirect coverage elsewhere. [Here's my
related
proposal](https://github.com/ghostty-org/ghostty/discussions/10807).

I gave more thought around how to expose some of these config values and
their metadata in the C api to eventually drive a settings UI and was
hoping for feedback before I proceed.

The cleanest path forward feels like annotating config values with
formal metadata around things like: supported platforms, whether or not
a restart is required, presentation metadata like grouping + ordering,
tolerated ranges for values, possible enum values, etc. My intent is
that Swift & other consumers can enumerate potential settings values
with metadata such as to drive the UI from the metadata.

---

AI Disclosure: I used Codex 5.3 to help me understand how the config
subsystem in zig is exposed to Swift via the C API. Codex wrote these
tests; but we brainstormed on a pragmatic coverage balance and I
understand how the tests work.
2026-02-20 10:16:21 -06:00
Jon Parise
454d53e264 macos: ignore swiftlint 'line_length' rule
Also, there are no more outstanding 'mark' issues.
2026-02-20 10:35:10 -05:00
Jon Parise
c2eab3b43d macos: add root-level .swiftlint.yml
In order to support running from both the repository root and from
within Xcode project, and to keep things generally organized, our
primary .swiftlint.yml configuration file lives under macos/.

This change introduces a root-level .swiftlint.yml which limits the file
scope to macos/ and then includes macos/.swiftlint.yml for the rest of
the directives.

This unlocks a few benefits:

- We no longer need to pass an explicit `macos` path argument in any of
  our invocations. SwiftLint will do the right thing when run either
  from the repository root or from within the macos/ directory.
- It lets us easily exclude the macos/build/ directory (and re-enable
  the 'deployment_target' rule). In the previous setup, this was more
  challenging than you'd expect due to SwiftLint's path resolution rules
  and required passing even more arguments like `--working-directory`.

The only downside is adding a new file to the repository root, but that
feels like the right trade-off given the benefits and conveniences.
2026-02-20 09:21:04 -05:00
ghostty-vouch[bot]
b6c1a26437 Update VOUCHED list (#10887)
Triggered by [discussion
comment](https://github.com/ghostty-org/ghostty/discussions/10882) from
@jcollie.

Vouch: @brentschroeter

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-20 12:37:50 +00:00
Alan Moyano
585bf3fcd2 Update es_AR translations with additional strings for 1.3 (#10861)
- Adds the three new string
- Changes one string for better wording
2026-02-20 09:55:39 +00:00
Nico Ritschel
b0f00a65ed Add ghostty_config_get tests
I mostly did this to familiarize myself with the codebase and figured it
doesn't hurt to cover this with tests if I add more in this area,
despite receiving indirect coverage elsewhere.
2026-02-19 20:45:52 -08:00
Mitchell Hashimoto
1fa4e787eb ci: pass milestone token via github-token parameter (#10881)
If I am reading the upstream action right, even if you set GITHUB_TOKEN
env var its defaulting to `github.token`, so we need to specify as a
param.
2026-02-19 20:40:50 -08:00
Mitchell Hashimoto
a6b6033852 ci: pass milestone token via github-token parameter
If I am reading the upstream action right, even if you set GITHUB_TOKEN
env var its defaulting to `github.token`, so we need to specify as a
param.
2026-02-19 20:39:53 -08:00
Mitchell Hashimoto
df47dc1a98 ci: milestone workflow should use our vouch app token
This increases our rate limits and the vouch app already has the
permissions required for the milestone workflow.
2026-02-19 20:35:00 -08:00
Mitchell Hashimoto
c316472362 ci: milestone workflow should use our vouch app token (#10879)
This increases our rate limits and the vouch app already has the
permissions required for the milestone workflow.

cc @trag1c
2026-02-19 20:30:33 -08:00
Mitchell Hashimoto
2863849fca ci: milestone workflow should use our vouch app token
This increases our rate limits and the vouch app already has the
permissions required for the milestone workflow.
2026-02-19 20:28:30 -08:00
Mitchell Hashimoto
0eaf77da5f WIP: Make palette inversion opt-in (#10877)
From #10554

> I can see there being space for some kind of new sequence that tells
the terminal that "hey, I want a semantic palette" or something, that is
better adjusted to themes automatically. But, I don't think we should
this by default.

> So my concrete proposal is to eliminate the inversion and bg => fg
ramp and do a more typical dark => light ramp (still taking into account
bg/fg, but keeping 16 black and 231 white). I think this is the only way
we can really make this a default on feature. I think this would address
all the negative reactions we've gotten to it.

This adds a new `palette-harmonious`, disabled by default, which allows
generated light themes to be inverted.
2026-02-19 20:24:42 -08:00
TicClick
acf8cc7419 i18n: Update and slightly clean up Russian translation (#10633)
as per #10632
2026-02-20 04:24:29 +00:00
Jake Stewart
f66a84b18a improve light theme detection 2026-02-19 20:17:47 -08:00
Mitchell Hashimoto
a6fcb46e18 macos: autofixable swiftlint rules (#10878)
Apply fixes for all of the SwiftLint rules that can be automatically
fixed (`--fix`) or addressed via some minor reformatting.

Each rule is in its own commit for easier review.
2026-02-19 19:57:39 -08:00
trag1c
42c81dbccc bg_BG additional strings for 1.3 (#10836) 2026-02-20 01:28:54 +01:00
Jon Parise
dbf2e0e087 macos: swiftlint 'vertical_parameter_alignment' rule 2026-02-19 19:11:36 -05:00
Jon Parise
c418e4b581 macos: swiftlint 'unused_optional_binding' rule 2026-02-19 19:10:38 -05:00
Jon Parise
a7719a8db6 macos: swiftlint 'shorthand_operator' rule 2026-02-19 19:07:29 -05:00
Jon Parise
9bae26ab45 macos: swiftlint 'orphaned_doc_comment' rule 2026-02-19 19:06:09 -05:00
Jon Parise
f4d70df34c macos: swiftlint 'implicit_getter' rule 2026-02-19 19:02:49 -05:00
Jon Parise
629a656e53 macos: swiftlint 'vertical_whitespace' rule 2026-02-19 18:58:28 -05:00
Jon Parise
a36d2f5420 macos: swiftlint 'unused_closure_parameter' rule 2026-02-19 18:57:43 -05:00
Jon Parise
540adb0da3 macos: swiftlint 'unneeded_synthesized_initializer' rule 2026-02-19 18:57:19 -05:00
Jon Parise
b532cd55d6 macos: swiftlint 'trailing_whitespace' rule 2026-02-19 18:56:43 -05:00
Jon Parise
33dce8511e macos: swiftlint 'trailing_semicolon' rule 2026-02-19 18:56:25 -05:00
Jon Parise
6af959920e macos: swiftlint 'syntactic_sugar' rule 2026-02-19 18:56:07 -05:00
Jon Parise
25b38b291e macos: swiftlint 'private_over_fileprivate' rule 2026-02-19 18:55:12 -05:00
Jon Parise
6052f664cf macos: swiftlint 'opening_brace' rule 2026-02-19 18:53:13 -05:00
Jake Stewart
c4c87f8c85 make palette inversion opt-in 2026-02-20 07:46:16 +08:00
Jon Parise
b10dcc9629 macos: swiftlint 'legacy_constructor' rule 2026-02-19 18:43:22 -05:00
Jon Parise
32e540c248 macos: swiftlint 'legacy_constant' rule 2026-02-19 18:38:32 -05:00
Jon Parise
9287a61920 macos: swiftlint 'implicit_optional_initialization' rule 2026-02-19 18:36:38 -05:00
Jon Parise
a83c8f8a9d macos: swiftlint 'empty_parentheses_with_trailing_closure' rule 2026-02-19 18:35:40 -05:00
Jon Parise
1b827e3e45 macos: swiftlint 'empty_enum_arguments' rule 2026-02-19 18:35:17 -05:00
Jon Parise
56d67ce88f macos: swiftlint 'control_statement' rule 2026-02-19 18:34:37 -05:00
Jon Parise
a8903c1bb1 macos: swiftlint 'comment_spacing' rule 2026-02-19 18:34:02 -05:00
Jon Parise
6ade5df799 macos: swiftlint 'comma' rule 2026-02-19 18:33:34 -05:00
Jon Parise
786bad9774 macos: swiftlint 'colon' rule 2026-02-19 18:32:44 -05:00
Mitchell Hashimoto
4289c1d637 feat(config): allow fullscreen config to specify non-native mode directly (#9876)
Closes #8388
2026-02-19 14:46:05 -08:00
Sachin Beniwal
0ad8db8582 Merge branch 'main' into feat/fullscreen-non-native-config 2026-02-19 14:34:59 -08:00
benodiwal
3d0da44e15 feat(config): allow fullscreen config to specify non-native mode directly
Co-Authored-By: Sachin <sachinbeniwal0101@gmail.com>
2026-02-19 14:34:22 -08:00
ghostty-vouch[bot]
cc17e96895 Update VOUCHED list (#10875)
Triggered by
[comment](https://github.com/ghostty-org/ghostty/issues/9876#issuecomment-3930522015)
from @mitchellh.

Vouch: @benodiwal

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-19 22:32:04 +00:00
ghostty-vouch[bot]
faead2d559 Update VOUCHED list (#10874)
Triggered by [discussion
comment](https://github.com/ghostty-org/ghostty/discussions/10807) from
@mitchellh.

Vouch: @nicosuave

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-19 22:26:55 +00:00