Commit Graph

14636 Commits

Author SHA1 Message Date
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
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
Mitchell Hashimoto
35e2645ab3 clickable file path fixes (#10867)
- **url: improve space in path handling**
The space-segment patterns in the path regex (dotted_path_space_segments
  and any_path_space_segments) greedily consume text after a space even
when we know that the text is the start of a new independent path (e.g.,
  `/tmp/bar` in `/tmp/foo /tmp/bar`).
  
  Fix: Add two negative lookaheads after the space in both patterns:
  - `(?!\.{0,2}\/)` →  don't match if the next segment starts with `/`,
    `./`, or `../`
  - `(?!~\/)` →  don't match if the next segment starts with `~/`
  

- **url: fix regression with unified diff lines**
  Bare relative paths don't need space-continuation semantics.
  
  Fixes #10773
2026-02-19 13:33:24 -08:00