Commit Graph

14637 Commits

Author SHA1 Message Date
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
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
ghostty-vouch[bot]
70cc121736 Update VOUCHED list (#10873)
Triggered by [discussion
comment](https://github.com/ghostty-org/ghostty/discussions/10789) from
@mitchellh.

Vouch: @MiUPa

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-02-19 22:24:03 +00:00
Mitchell Hashimoto
410ee0d5c7 feat: implement scroll-to-bottom on output option (#9938)
Closes #8408
2026-02-19 14:15:55 -08:00
Mitchell Hashimoto
2a62f21bf0 fix tests 2026-02-19 14:10:33 -08:00
Mitchell Hashimoto
eb335fb8dd cleanup by just scrolling in the renderer 2026-02-19 14:06:58 -08:00
benodiwal
263469755c refactor: remove unused stream handler scroll-to-bottom code
The renderer approach doesn't need termio changes.

Co-Authored-By: Sachin <sachinbeniwal0101@gmail.com>
2026-02-19 13:54:32 -08:00
benodiwal
e197b95c32 feat: scroll-to-bottom on output via renderer pin tracking
Co-Authored-By: Sachin <sachinbeniwal0101@gmail.com>
2026-02-19 13:53:27 -08:00
benodiwal
81f537e992 feat: implement scroll-to-bottom on output option
Implements the `output` option for the `scroll-to-bottom` configuration,
which scrolls the viewport to the bottom when new lines are printed.

Co-Authored-By: Sachin <sachinbeniwal0101@gmail.com>
2026-02-19 13:52:57 -08:00
Mitchell Hashimoto
f2a5f36f26 macos: lint Swift files using SwiftLint (#10860)
SwiftLint <https://realm.github.io/SwiftLint/> is both a linter and
formatting. It's a popular way to spot issues and enforce a consistent
style.

Our SwiftLint configuration lives in `macos/.swiftlint.yml`, where is is
automatically discovered. It's very configurable, and I made an initial
pass as some basic, weakly-opinionated rules. The "TODO" section lists
rules that currently have violations but can be easily (auto)fixed in
follow-up commits.

Our integration is CLI-based. Similar to our other support tools, we
expect developers to install `swiftlint` via nix or e.g. Homebrew. This
is documented in HACKING.md.

We also have an optional Xcode integration, for in-editor feedback. When
`swiftlint` is available, it's run as a script-based Build Phase.

SwiftLint supports an auto-fix mode (`--fix`). Agents are aware of this
via AGENTS.md.

The rules are enforced using a (nix-based) CI job.
2026-02-19 13:34:22 -08:00