7980dbd
Add API docs for RelPath (#38923)
Click to expand commit body
Also reduce the use of `unsafe` in that module. Release Notes: - N/A
Max Brunsfeld created
7980dbd
Add API docs for RelPath (#38923)
Also reduce the use of `unsafe` in that module. Release Notes: - N/A
Max Brunsfeld created
a5683f3
zeta_cli: Add `--output-format both` and `--prompt-format only-snippets` (#38920)
These are options are probably temporary, added for use in some experimental code Release Notes: - N/A Co-authored-by: Oleksiy <oleksiy@zed.dev>
Michael Sloan and Oleksiy created
67984d5
provider configuration: Use `SingleLineInput` instead of `Editor` (#38814)
Release Notes: - N/A
Michael Sloan created
d83d7d3
windows: Fix inconsistent separators in buffer headers and breadcrumbs (#38898)
Make `resolve_full_path` use the appropriate separators, and return a `String`. As part of fixing the fallout from that type change, this also fixes a bunch of places in the agent code that were using `std::path::Path` operations on paths that could be non-local, by changing them to operate instead on strings and use the project's `PathStyle`. This clears the way a bit for making `full_path` also return a string instead of a `PathBuf`, but I've left that for a follow-up. Release Notes: - N/A
Cole Miller created
6470443
python: Fix ty archive extraction on Linux (#38917)
Closes #38553 Release Notes: - Fixed wrong AssetKind specified on linux for ty As discussed in the linked issue. All of the non windows assets for ty are `tar.gz` files. This change applies that fix.
Derek Nguyen created
5b72dff
helix: Streamline mode naming in the UI and in settings (#38870)
Release Notes: - When `helix_mode = true`, modes are called without the `HELIX_` prefix in the UI: `HELIX_NORMAL` becomes `NORMAL` `HELIX_SELECT` becomes `SELECT` - (breaking change) Helix users should remove `"default_mode": "helix_normal"` from their settings. This is now the default when `"helix_mode": true`.
Jakub Konka created
495a7b0
Clean up RelPath API (#38912)
Consolidate constructors and accessors. Release Notes: - N/A --------- Co-authored-by: Cole Miller <cole@zed.dev>
Max Brunsfeld and Cole Miller created
301e976
Fix inlay hints using status theming instead of syntax theming (#36219)
Release Notes:
- Fixed editor inlay hints incorrectly using status theming when syntax
theming is available
Previously, a theme's `style.syntax.hint` object is completely ignored,
and `style.hint` `style.hint.background` are used instead. However,
these seem to be related to status hints, such as the inline git blame
integration.
For syntax hints (as given by an LSP), the reasonable assumption would
be that the `style.syntax.hint` object is used instead, but it isn't.
This means that defining other style characteristics (`font_style`, for
example) does nothing.
I've fixed the issue in a backward-compatible way, by using the theme
`syntax` `HighlightStyle` as the base for inlay hint styling, and
falling back to the original `status` colors should the syntax object
not contain the color definitions.
With the following theme settings:
```jsonc
{
"hint": "#ff00ff", // Status hints (git blame, etc.)
"hint.background": "#ff00ff10",
"syntax": {
"hint": {
"color": "#ffffff", // LSP inlay hints
"background_color": "#ffffff10",
"font_style": "italic", // Now properly applied
"font_weight": 700
}
}
}
```
Current behavior:
<img width="896" height="201" alt="image"
src="https://github.com/user-attachments/assets/e89d212f-ed7e-4d27-94e4-96d716e229d2"
/>
Italics and font weight are ignored. Uses status colors instead.
Fixed behavior:
<img width="896" height="202" alt="image"
src="https://github.com/user-attachments/assets/f14ed2c3-bb60-4b74-886d-6b409d338714"
/>
Italics and font weight are used properly. Status color is preserved for
the git blame status, but correct syntax colors are used for the inlay
hints.
Lauren Hinchcliffe created
daebc40
settings ui: Implement dynamic navbar based on pages section headers (#38915)
Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Anthony Eid and Ben Kunkle created
ecc35fc
acp: Fix `@mentions` when remoting from Windows to Linux (#38882)
Closes #38620 `Url::from_file_path` and `Url::from_directory_path` assume the path style of the target they were compiled for, so we can't use them in general. So, switch from `file://` to encoding the absolute path (for mentions that have one) as a query parameter, which works no matter the platforms. We'll still parse the old `file://` mention URIs for compatibility with thread history. Release Notes: - windows: Fixed a crash when using `@mentions` in agent threads when remoting from Windows to Linux or WSL.
Cole Miller created
236006b
settings_ui: Small UI improvements (#38911)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
39c4480
terminal: Trace terminal events (#38896)
Tracing terminal events can now be enabled using typical `RUST_LOG` invocation: ``` RUST_LOG=info,terminal=trace,alacritty_terminal=trace cargo run ``` Release Notes: - N/A
Jakub Konka created
48aac2a
settings_ui: Add dropdown component + other fixes (#38909)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
ae036f8
Read env vars in TestScheduler::many (#38897)
This allows ITERATIONS and SEED environment variables to override the hard coded values during testing. cc @ConradIrwin @as-cii Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Nathan Sobo and Conrad Irwin created
de1de25
keymap_editor: Fix filter input element alignment (#38895)
# Why I have spotted that Keymap Editor filter input (editor) is misaligned vertically. # How Switch the input wrapper to flex layout, use `items_center` to align editor vertically in center of the wrapper. Release Notes: - Fixed Keymap Editor filter input alignment # Test plan I have tested the change locally and compared the UI before and after, to make sure that change does not affect the size of the wrapper element. ### Before <img width="1622" height="428" alt="Screenshot 2025-09-25 at 18 18 59" src="https://github.com/user-attachments/assets/7d09be5c-6caf-4873-8ecf-2542851cb40a" /> ### After <img width="1622" height="428" alt="Screenshot 2025-09-25 at 18 07 18" src="https://github.com/user-attachments/assets/540fcb3e-691d-4fb7-8130-2ed45ddc0adc" />
Bartosz Kaszubowski created
18fc951
Fix flaky `test_remote_resolve_path_in_buffer` test (#38903)
Release Notes: - N/A
Cole Miller created
40138e1
windows: Make `ctrl-n` open a new terminal when in a terminal (#38900)
This is how `ctrl-n` works on macOS. Right now `ctrl-n` on Windows with the default keymap usually causes a new buffer to open, which is inconvenient. Release Notes: - N/A
Cole Miller created
e7a5c81
Improve media-creation flow in release process (#38902)
Release Notes: - N/A
Joseph T. Lyons created
d98175c
Update release process docs to reflect new process (#38892)
Release Notes: - N/A
Joseph T. Lyons created
bc7d804
remote: Don’t pass `--method=GET` to `wget` (#38771)
BusyBox's off brand `wget` does not have support for the `--method` argument, which makes `zed` incapable of downloading the remote server unless the _☙authentic❧_ one is installed. Removing this should fix the issue. Couldn't find much about guidelines on how the code is supposed to be formatted, so I opted for commenting the line out with an explanation. Closes #38712 Release Notes: - Fixed remote development on BusyBox
313838373473747564656e74766775 created
50bb8a4
gpui: Add tab group (#38531)
Closes #ISSUE Co-Authored-By: Mikayla <mikayla@zed.dev> Co-Authored-By: Anthony <anthony@zed.dev> Co-Authored-By: Kate <kate@zed.dev> Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Kate <kate@zed.dev> Co-authored-by: Mikayla <mikayla@zed.dev> Co-authored-by: Anthony <anthony@zed.dev> Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Ben Kunkle , Kate , Mikayla , Anthony , and Mikayla Maki created
b2b90b0
zeta2: Add prompt format option to inspector (#38884)
Adds the new prompt format option to the inspector view Release Notes: - N/A Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Agus Zubiaga and Bennet Bo Fenner created
c0f56f5
zeta2: Test prediction request (#38794)
Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Agus Zubiaga and Bennet Bo Fenner created
a9fe18f
Revert "gpui: Flash menu in menubar on macOS when action is triggered (#38588)" (#38880)
This reverts commit ed7bd5a8ed6cbda563c4e6f1acb66e13f545718b. We noticed this PR causes the editor to hang if you hold down any of the menu item actions like ctrl+z, ctrl+x, etc Release Notes: - Fixed macOS menu item actions hanging the editor when their key combination is held down
Lukas Wirth created
3c5e683
Fix experimental audio, add denoise, auto volume.Prep migration (#38874)
Uses the previously merged denoising crate (and fixes a bug in it that snug in during refactoring) to add denoising to the microphone input. Adds automatic volume control for microphone and output. Prepares for migrating to 16kHz SR mono: The experimental audio path now picks the samplerate and channel count depending on a setting. It can handle incoming streams with both the current (future legacy) and new samplerate & channel count. These are url-encoded into the livekit track name Release Notes: - N/A
David Kleingeld created
783ba38
Fix script/zed-local on Windows (#38832)
There's a mismatch between the URL used here and the one that's referred to in `build_zed_cloud_url`, which prevents using the script on Windows. A previous PR changed the script to use `127.0.0.1` instead of `localhost` because of supposed URL parsing issues, but we were unable to reproduce those. Release Notes: - N/A
Cole Miller created
e72021a
Implement perceptual gamma / contrast correction for Linux font rendering (#38862)
Part of https://github.com/zed-industries/zed/issues/7992 Port of https://github.com/zed-industries/zed/pull/37167 to Linux When using Blade rendering (Linux platforms and self-compiled builds with the Blade renderer enabled), Zed reads `ZED_FONTS_GAMMA` and `ZED_FONTS_GRAYSCALE_ENHANCED_CONTRAST` environment variables for the values to use for font rendering. `ZED_FONTS_GAMMA` corresponds to [getgamma](https://learn.microsoft.com/en-us/windows/win32/api/dwrite/nf-dwrite-idwriterenderingparams-getgamma) values. Allowed range [1.0, 2.2], other values are clipped. Default: 1.8 `ZED_FONTS_GRAYSCALE_ENHANCED_CONTRAST` corresponds to [getgrayscaleenhancedcontrast](https://learn.microsoft.com/en-us/windows/win32/api/dwrite_1/nf-dwrite_1-idwriterenderingparams1-getgrayscaleenhancedcontrast) values. Allowed range: [0.0, ..), other values are clipped. Default: 1.0 Screenshots (left is Nightly, right is the new code): * Non-lodpi display With the defaults: <img width="2560" height="1600" alt="image" src="https://github.com/user-attachments/assets/987168b4-3f5f-45a0-a740-9c0e49efbb9c" /> With `env ZED_FONTS_GRAYSCALE_ENHANCED_CONTRAST=7777`: <img width="2560" height="1600" alt="image" src="https://github.com/user-attachments/assets/893bc2c7-9db4-4874-8ef6-3425d079db63" /> Lodpi, default settings: <img width="3830" height="2160" alt="image" src="https://github.com/user-attachments/assets/ec009e00-69b3-4c01-a18c-8286e2015e74" /> Lodpi, font size 7: <img width="3830" height="2160" alt="image" src="https://github.com/user-attachments/assets/f33e3df6-971b-4e18-b425-53d3404b19be" /> Release Notes: - Implement perceptual gamma / contrast correction for Linux font rendering --------- Co-authored-by: localcc <work@localcc.cc>
Kirill Bulatov and localcc created
f25ace6
zeta2 cli: Output raw request (#38876)
Release Notes: - N/A Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de> Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Agus Zubiaga , Bennet Bo Fenner , and Oleksiy Syvokon created
c627543
assistant_context: Fix `thread_summary_model` not getting used in Text Threads (#38859)
Closes https://github.com/zed-industries/zed/issues/37472 Release Notes: - Fixed an issue in Text Threads where it was using `default_model` even in case `thread_summary_model` was set. --------- Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav created
f303a46
acp: Use ACP error types in read_text_file (#38863)
- Map path lookup and internal failures to acp::Error - Return INVALID_PARAMS for reads beyond EOF Release Notes: - acp: Return more informative error types from `read_text_file` to agents
Ben Brandt created
a9def81
Adjust keymap to not conflict with the french keyboard layout (#38868)
Closes #38382 Release Notes: - N/A
localcc created
6580eac
auto_update: Unmount update disk image in the background (#38867)
Release Notes: - Fixed potentially temporarily hanging on macOS when updating the app
Lukas Wirth created
5c3c79d
Fix file association icons on Windows (#38713)
This now uses the default zed icon for file associations as our own icon svgs are black/white shapes which are not suitable to set as an icon in a file explorer. Closes #36286 Release Notes: - N/A
localcc created
16fccb5
editor: Assert ordering in selections of `resolve_selections` (#38861)
Inspired by the recent anchor assertions, this asserts that the produced selections are always ordered at various resolutions stages, this is an invariant within `SelectionsCollection` but something breaks it somewhere causing us to seek cursors backwards which panics. Related to ZED-13X Release Notes: - N/A
Lukas Wirth created
a25504e
file_finder: Leverage or-patterns and bindings to deduplicate prefix handling (#38860)
Just small code changes, to deduplicate prefix handling. Release Notes: - N/A
Driftcell created
bc11844
acp: Fix `read_text_file` erroring on empty files (#38856)
The previous validation was too strict and didn't permit reading empty files. Addresses: https://github.com/google-gemini/gemini-cli/issues/9280 Release Notes: - acp: Fix `read_text_file` returning errors for empty files
Ben Brandt created
10b99c6
RFC: Recommend and enable using Wild rather than Mold on Linux for local builds (#37717)
# Summary Today, Zed uses Mold on Linux, but Wild can be significantly faster. On my machine, Wild is 14% faster at a whole-tree clean build, 20% faster on an incremental build with a minimal change, and makes no measurable effect on runtime performance of tests. However, Wild's page says it's not yet ready for production, so it seems to early to switch for production and CI builds. This PR keeps using Mold in CI and lets developers choose in their own config what linker to use. (The downside of this is that after landing this change, developers will have to do some local config or it will fall back to the default linker which may be slower.) [Wild 0.6 is out, and their announcement has some benchmarks](https://davidlattimore.github.io/posts/2025/09/23/wild-update-0.6.0.html). cc @davidlattimore from Wild, just fyi # Tasks - [x] Measure Wild build, incremental build, and runtime performance in different scenarios - [x] Remove the Linux linker config from `.cargo/config.toml` in the tree - [x] Test rope benchmarks etc - [x] Set the linker to Mold in CI - [x] Add instructions to use Wild or Mold into `linux.md` - [x] Add a script to download Wild - [x] Measure binary size - [x] Recommend Wild from `scripts/linux` # Benchmarks | | wild 0.6 (rust 1.89) | mold 2.37.1 (1.89) | lld (rust 1.90) | wild advantage | | -- | -- | -- | -- | -- | | clean workspace build | 176s | 184s | 182s | 5% faster than mold | | nextest run workspace after build | 137s | 142s | 137s | in the noise? | | incremental rebuild | 3.9s | 5.0s | 6.6s | 22% faster than mold | I didn't observe any apparent significant change in runtime performance or binary size, or in the in-tree microbenchmarks. Release Notes: - N/A --------- Co-authored-by: Mateusz Mikuła <oss@mateuszmikula.dev>
Martin Pool and Mateusz Mikuła created
17dea24
Disable terminal breadcrumbs by default (#38806)
<img width="1211" height="238" alt="image" src="https://github.com/user-attachments/assets/d847fabe-0e00-474c-ad79-cb4da221b319" /> At least on Windows, "git terminal" and PowerShell set the header, which is not very useful but occupies space and sometimes confuses users:  Release Notes: - Disable terminal breadcrumbs by default. Set `terminal.toolbar.breadcrumbs` to `true` to re-enable. Co-authored-by: Finn Evers <finn@zed.dev>
Kirill Bulatov and Finn Evers created
17e55da
Remove `billing-v2` feature flag (#38843)
This PR removes the `billing-v2` feature flag, now that the new pricing is launched. Release Notes: - N/A
Marshall Bowers created
6b968e0
Remove the duplicated Global LSP Settings section (#38811)
This section [shows up twice](https://zed.dev/docs/configuring-zed#global-lsp-settings) in the documentation. <img width="701" height="1269" alt="image" src="https://github.com/user-attachments/assets/4d930676-5cae-43c8-83d4-6406c27d149c" /> Release Notes: - N/A Signed-off-by: Remy Suen <remy.suen@docker.com>
Remy Suen created
0f66310
git_ui: Tweak appearance of repo and branch separator (#38447)
# Why In Git Panel, it felt to me that repo and branch separator can be slightly demphasized (since it is not-interactable) and separated a bit more from the repo and branch popover triggers. # How Use `icon_muted` color for the separator (happy to know if this is an abuse of the UI styleguide 😄), add one pixel horizontal spacing around the `/` character. Release Notes: - Improved appearance of repo and branch separator in Git Commit Panel # Test plan I have tested the change locally and compared the UI before and after to make sure it feels right. ### Before <img width="466" height="196" alt="Screenshot 2025-09-18 at 20 25 46" src="https://github.com/user-attachments/assets/7bfcd1a4-8d16-4e75-8660-9cbfa3952848" /> ### After <img width="466" height="196" alt="Screenshot 2025-09-18 at 20 25 12" src="https://github.com/user-attachments/assets/100d3599-ecc6-473f-b270-a71005b41494" /> --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Bartosz Kaszubowski and Danilo Leal created
26adc70
docs: Update glossary (#38820)
Added blank line in front of 2 image tags so markdown renders correctly in zed. (Previously, images were skipped. They are also skipped in zed if there are leading spaces in front of img tag.) Updated text in 3 alt tags. Fixed 1 typo. Release Notes: - N/A
warrenjokinen created
a5fb290
docs: Add stray design tweaks (#38835)
Tiny little improvements opportunities I noticed today while browsing the docs. Release Notes: - N/A
Danilo Leal created
8fc7bd9
zeta2: Add labeled sections prompt format (#38828)
Release Notes: - N/A Co-authored-by: Agus <agus@zed.dev>
Michael Sloan and Agus created
7167be5
editor: Fix predict edit at cursor action when show_edit_predictions is false (#38821)
Closes #37601 Regressed in https://github.com/zed-industries/zed/pull/36469. Edit: Original issue https://github.com/zed-industries/zed/issues/25744 is fixed for Zeta in this PR. For Copilot, it will be covered in a follow-up. In the case of Copilot, even after discarding, we still get a prediction on suggest, which is a bug. Release Notes: - Fixed issue where predict edit at cursor didn't work when `show_edit_predictions` is `false`.
Smit Barmase created
d321cf9
Fix semantic merge conflict from RelPath refactor (#38829)
Release Notes: - N/A Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Cole Miller and Max Brunsfeld created
ce7b02e
Whitespace map more (#38827)
Release Notes: - N/A
Conrad Irwin created
03f9cf4
Represent relative paths using a dedicated, separator-agnostic type (#38744)
Closes https://github.com/zed-industries/zed/issues/38690 Closes #37353 ### Background On Windows, paths are normally separated by `\`, unlike mac and linux where they are separated by `/`. When editing code in a project that uses a different path style than your local system (e.g. remoting from Windows to Linux, using WSL, and collaboration between windows and unix users), the correct separator for a path may differ from the "native" separator. Previously, to work around this, Zed converted paths' separators in numerous places. This was applied to both absolute and relative paths, leading to incorrect conversions in some cases. ### Solution Many code paths in Zed use paths that are *relative* to either a worktree root or a git repository. This PR introduces a dedicated type for these paths called `RelPath`, which stores the path in the same way regardless of host platform, and offers `Path`-like manipulation APIs. RelPath supports *displaying* the path using either separator, so that we can display paths in a style that is determined at runtime based on the current project. The representation of absolute paths is left untouched, for now. Absolute paths are different from relative paths because (except in contexts where we know that the path refers to the local filesystem) they should generally be treated as opaque strings. Currently we use a mix of types for these paths (std::path::Path, String, SanitizedPath). Release Notes: - N/A --------- Co-authored-by: Cole Miller <cole@zed.dev> Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Co-authored-by: Peter Tripp <petertripp@gmail.com> Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com> Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Max Brunsfeld , Cole Miller , Piotr Osiewicz , Peter Tripp , Smit Barmase , and Lukas Wirth created
3c626f3
Only allow single chars for whitespace map (#38825)
Release Notes: - Only allow single characters in the whitespace map
Conrad Irwin created
4a1bab5
Update release process docs to include storing feature media (#38824)
Release Notes: - N/A
Joseph T. Lyons created