Commit log

f2586fb livekit_client: Apply correct priority for audio threads (#51178)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Piotr Osiewicz <piotr@zed.dev>

Jakub Konka and Piotr Osiewicz created

8fa257b project_panel: Reveal in file manager when no entry is selected (#50866)

Click to expand commit body
Closes #48284

## Summary
- Fix `project_panel::RevealInFileManager` when no project panel entry
is selected.
 - Preserve existing selected entry behavior.
- Add fallback to reveal the last visible worktree root when selection
is empty.
 - Add regression test cov.

## Root Cause
`RevealInFileManager` previously depended on `selected_sub_entry()`.
When selection is cleared (e.g. click project panel background), Command
Palette dispatch had no target and no-op'd.


## Verification
 - `cargo fmt --all -- --check`
 - `./script/check-keymaps`
 - `./script/clippy -p project_panel`
 - `cargo test -p project_panel -- --nocapture`

## Manual Testing
 - Reproduced issue steps from #48284.
- Confirmed Command Palette `Project panel: Reveal in file manager` now
opens project root when selection is empty.
  - Confirmed selected file reveal behavior remains unchanged.
  - Confirmed context menu reveal behavior remains unchanged.

Release Notes:
- Fixed `Project panel: Reveal in file manager` to work even when no
project panel entry is selected.

loadingalias created

d1a323b Fix parsing of filenames like main (1).log (#50770)

Click to expand commit body
## Summary
Fixes Windows file-open parsing for names like `main (1).log`.

`PathWithPosition::parse_str` could treat `(1)` in a normal filename as
a position suffix and drop the extension/path tail. The regex is now
anchored so parenthesized row/column parsing only applies at the end of
the filename (with optional trailing `:` and optional range suffix).

## Testing
- `cargo test -p util path_with_position_parse_`

Closes #50597

Release Notes:

- Fixed opening files with names like `main (1).log` on Windows.

hagz0r created

a26f0f8 sidebar: Adjust design for the "Open Project" button (#51145)

Click to expand commit body
This PR makes the "Open Project" button in the sidebar also open the
"Recent Projects" popover, while also anchoring that popover to the the
button on the sidebar instead.

Release Notes:

- N/A

Danilo Leal created

1475774 ep: Include diagnostics in `ZetaPromptInput` (#51141)

Click to expand commit body
Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

2bd5c21 zeta: Allow the server to select the editable and context ranges more flexibly (#50975)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Ben Kunkle <ben@zed.dev>

Max Brunsfeld and Ben Kunkle created

cb80880 project_panel: Add notifications for drag-and-drop rename conflicts (#51138)

Click to expand commit body
Follow-up https://github.com/zed-industries/zed/pull/51090

Adds workspace error notifications for project panel drag-and-drop moves
that fail on rename conflicts.

Release Notes:

- N/A

Smit Barmase created

7a4aaff markdown: Fix code block scrollbars flashing on vertical scroll (#50817)

Click to expand commit body
Release Notes:

- Fixed code block scrollbars flashing on vertical scroll


before:

When there are many code blocks, scrolling through markdown will display
a horizontal scrollbar (when the mouse is not inside a code block).


https://github.com/user-attachments/assets/1fae36ec-5a3f-4283-b54f-e5cb4f45646b




after:

When scrolling markdown, do not display the horizontal scrollbar when
the mouse is not in a code block.


https://github.com/user-attachments/assets/0c0f2016-9b18-4055-87a6-4f508dbfd193

---------

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>

Xiaobo Liu created

a99366a agent_servers: Use correct default settings (#51136)

Click to expand commit body
These are edge cases, but there are a few ways you can get into a state
where you are setting favorites for registry agents and we don't have
the setting yet. This prioritizes `type: registry` for agents that we
have in the registry, especially the previous built-ins.

Release Notes:

- N/A

Ben Brandt created

4e9e944 fs: Fix no-overwrite rename races (#51090)

Click to expand commit body
Closes #46661

This PR changes `fs.rename` to use the platform’s atomic no-overwrite
rename on all platforms when `overwrite` is `false`. This fixes a case
where concurrent renames to the same target could race past a separate
metadata check and end up overwriting each other.

In Project Panel, we can still rename entries in parallel without
worrying about OS internals not handling it correctly or making these
renames sequential.

Release Notes:

- Fixed an issue in the Project Panel where conflicting file moves could
overwrite each other instead of leaving the losing file in place.

Smit Barmase created

0634ddb Fix permission and filtering issues for PR review assignments (#51132)

Click to expand commit body
This PR takes a different approach to permissions for
assign-reviewers.yml and better filters external PRs for now.

Before you mark this PR as ready for review, make sure that you have:
- ~~[ ] Added a solid test coverage and/or screenshots from doing manual
testing~~
- [x] Done a self-review taking into account security and performance
aspects
- ~~[ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)~~

Release Notes:

- N/A *or* Added/Fixed/Improved ...

John D. Swanson created

bf63132 livekit_client: Route selected audio input/output devices into legacy audio (#51128)

Click to expand commit body
Release Notes:

- Fixed ability to select audio input/output devices for legacy
(non-experimental/rodio-enabled) audio.

Jakub Konka created

a5ba121 agent_ui: Handle legacy agent enum variants during deserialization (#51125)

Click to expand commit body
Add custom `Deserialize` implementations for `AgentType` and
`ExternalAgent` to map old built-in variant names to current custom
agent names, while still accepting current serialized formats.

Release Notes:

- N/A

Ben Brandt created

cfa703d PR Review Assignment Workflow Round Two (#51123)

Click to expand commit body
This pull request adds a new GitHub Actions workflow to automate
reviewer assignment for pull requests. The workflow leverages the
`codeowner-coordinator` repository to intelligently assign the most
relevant teams as reviewers based on the changes in the PR. This should
streamline the review process and ensure the right teams are notified.

**Automated Reviewer Assignment Workflow:**

* Introduced `.github/workflows/assign-reviewers.yml`, a workflow that
triggers on PR open and ready-for-review events to assign 1-2 relevant
teams as reviewers using a script from the
`zed-industries/codeowner-coordinator` repository.
* The workflow checks out the coordinator repo, sets up Python, installs
dependencies, and runs the assignment script with the necessary
environment variables.
* Reviewer assignment is only performed for PRs originating from within
the organization for now.
* The output of the reviewer assignment step is maintained as an Actions
artifact for later inspection or debugging.

Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [ ] ~~Added a solid test coverage and/or screenshots from doing manual
testing~~
- [x] Done a self-review taking into account security and performance
aspects
- [ ] ~~Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)~~

Release Notes:

- N/A

John D. Swanson created

fbeffc4 Fix expand/collapse all button for splittable editor (#50859)

Click to expand commit body
The "Expand All Files"/"Collapse All Files" button in `BufferSearchBar`
was broken for `SplittableEditor`, which is used in the project diff
view. It was happening because `ProjectDiff::as_searchable` returns an
handle to the `SplittableEditor`, which the search bar implementation
then tries to downcast to an `Editor`, which the `SplittableEditor` did
not support, so both the expand/collapse all buttons, as well as the
collapse state were broken.

Unfortunately this was accidentally introduced in
https://github.com/zed-industries/zed/pull/48773 , so this Pull Request
updates the `Item` implementation for `SplittableEditor` in order for it
to be able to act as an `Editor`.

Release Notes:

- Fix the "Expand All Files"/"Collapse All Files" button in the project
diff view

---------

Co-authored-by: Tom Houlé <tom@tomhoule.com>

Dino and Tom Houlé created

503741d workspace: Hide "View AI Settings" when AI is disabled (#50941)

Click to expand commit body
Fixes #50835

### Problem :
The "View AI Settings" button on the Welcome page was always rendered
regardless of the disable_ai setting. This made it visible (and
non-functional) for users who had AI disabled, which was confusing.

### Fix :
- Adds an optional visibility: Option<fn(&App) -> bool> predicate field
to SectionEntry
- At render time, Section::render uses filter_map to skip entries whose
predicate returns false.
- The "View AI Settings" entry is given a predicate that checks
!DisableAiSettings::get_global(cx).disable_ai, matching the same pattern
used in `title_bar.rs` and `quick_action_bar.rs`.
- All other entries have visibility: None, meaning they are always shown
— no behaviour change for them.

### Video :
[Screencast from 2026-03-06
20-18-43.webm](https://github.com/user-attachments/assets/cbfab423-3ef3-41dd-a9ab-cbae055eef6e)


Release Notes:

- Fixed the "View AI Settings" button being visible on the Welcome page
despite AI features being disabled in settings.

Om Chillure created

aa5c1ff Optimize update_entries (#51122)

Click to expand commit body
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

Mikayla Maki created

ef08470 Remove unused `rich_text` crate (#50950)

Bennet Bo Fenner created

429f458 zed: Fix file logging being disabled accidentally (#51121)

Click to expand commit body
Release Notes:

- N/A *or* Added/Fixed/Improved ...

Lukas Wirth created

7cd0c5d agent: Fix inline assistant keymap in agent panel (#51117)

Click to expand commit body
Fixes a bug that causes the new large agent panel message editor
overrides the ctrl-enter keyboard shortcut to trigger the inline
assistant, rather than sending a message

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Cameron Mcloughlin created

e0b1f8a zed: Read ZED_COMMIT_SHA from env var when building (#51115)

Click to expand commit body
Quality-of-life improvement for us Nix users - Zed built via `nix build`
will now correctly the git commit sha in its version

<img width="433" height="298" alt="image"
src="https://github.com/user-attachments/assets/b940ee4a-6914-4410-ba20-b50391282a4e"
/>

Release Notes:

- N/A

Jakub Konka created

850188f workspace: Include threads in matched workspaces (#51114)

Cameron Mcloughlin created

d788673 Do not derive symbol highlights if they do not fit into multi buffer (#50948)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Kirill Bulatov and Conrad Irwin created

b06c0e0 ui: Add `GradientFade` component (#51113)

Click to expand commit body
Just adding this here as an utility component given we were doing
similar things on the sidebar, thread item, and list item. It'd be
probably useful, in the near future, to give this more methods so it's
more flexible.

Release Notes:

- N/A

Danilo Leal created

8bc66b3 extensions_ui: Fix extension author list overflow (#51045)

Click to expand commit body
Closes #50995 

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- Fixed extension author's list overflow

<img width="1326" height="369" alt="image"
src="https://github.com/user-attachments/assets/4b2cf9cb-d3c3-4d71-a4fd-9436fb7b1469"
/>

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

francesco-gaglione and Danilo Leal created

b54716d ep: Skip context retrieval when already performed (#51100)

Click to expand commit body
Previously we didn't distinguish between an empty `.related_files[]` and
a case where context collection hadn't run yet. As a result, context
retrieval was always attempted for examples with empty `related_files`.

Release Notes:

- N/A

Oleksiy Syvokon created

171e7cb sidebar: Improve behavior of "view more" button (#51105)

Click to expand commit body
This PR adjusts the "View More" button in the sidebar to expose threads
in batches of 5. Once you've expanded the whole available set, a button
to collapse the list back to the default number appears at the bottom.
Similarly, as soon as you expand the list even once, a button in the
group header shows up that does the same thing.

No release notes because this is still under feature flag.

Release Notes:

- N/A

Danilo Leal created

6810f23 ci: Add source list and GPG key manually of ubuntu-toolchain-r (#51102)

Click to expand commit body
Release Notes:

- N/A

Jakub Konka created

175707f open_ai: Support reasoning summaries in OpenAI Responses API (#50959)

Click to expand commit body
Related to AI-79.

Release Notes:

- N/A

Neel created

e9c691a ep: Add `<|no-edit|>` command to hashlines format (#51103)

Click to expand commit body
Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

26f81c4 sidebar: Improve project header truncation (#51096)

Click to expand commit body
Touching up the scenario in which the project header label is too big.
This uses the same gradient overlay treatment we're using for the thread
item component.

Release Notes:

- N/A

Danilo Leal created

0924bb8 ui: Extract `table_row` & `tests` modules to separate files (#51059)

Click to expand commit body
Extract data table modules into separate files

This PR extracts the `tests` and `table_row` modules from
`data_table.rs` into separate files to improve code organization. This
is preparatory work for the upcoming column width API rework (#2 in the
series), where separating mechanical changes from logical changes will
make the review easier.

The extraction was performed using rust-analyzer's "Extract module to
file" command.

**Context:**

This is part 1 of a 3-PR series improving data table column width
handling:
1. **This PR**: Extract modules into separate files (mechanical change)
2. [#51060](https://github.com/zed-industries/zed/pull/51060) -
Introduce width config enum for redistributable column widths (API
rework)
3. Implement independently resizable column widths (new feature)

The series builds on previously merged infrastructure:
- [#46341](https://github.com/zed-industries/zed/pull/46341) - Data
table dynamic column support
- [#46190](https://github.com/zed-industries/zed/pull/46190) - Variable
row height mode for data tables

Primary beneficiary: CSV preview feature
([#48207](https://github.com/zed-industries/zed/pull/48207))

Release Notes:

- N/A

Oleksandr Kholiavko created

97421c6 Remove unreferenced dev dependencies (#51093)

Click to expand commit body
This will help with test times (in some cases), as nextest cannot figure
out whether a given rdep is actually an alive edge of the build graph

Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A

Piotr Osiewicz created

6b64b4c agent_ui: Add keybinding and action for worktree toggle (#51092)

Click to expand commit body
This PR adds an action and keybinding to trigger the worktree dropdown
in the agent panel. This is still under a feature flag, so no release
notes yet.

Release Notes:

- N/A

Danilo Leal created

4abeeda recent_projects: Don't panic when attempting to delete SSH server out of bounds (#51091)

Click to expand commit body
Fixes ZED-517

Can be reproed by:

    Going into server options of the last server on your list.
    selecting "Remove server".
Clicking on the button AND issuing menu::Confirm action at the same time
(well, roughly the same time).

The result: OS pop-up is issued twice; if the user does confirm twice,
that's when that panic is hit.

Closes #ISSUE

Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- Fixed a potential crash when deleting SSH servers too eagerly.

Piotr Osiewicz created

0a436be git: Introduce restore and next action (#50324)

Click to expand commit body
Add a `git::RestoreAndNext` action that restores the diff hunk at the
cursor and advances to the next hunk. In the git diff view, the default
restore keybinding (`cmd-alt-z` on macOS, `ctrl-k ctrl-r` on
Linux/Windows) is remapped to this action so users can quickly restore
hunks in sequence. Also refactor `go_to_hunk_before_or_after_position`
to accept a `wrap_around` parameter, eliminating duplicated
hunk-navigation logic in `do_stage_or_unstage_and_next` and
`restore_and_next`.

Release Notes:

- Added a `git: restore and next` action that restores the diff hunk at
  the cursor and moves to the next one. In the git diff view, the
  default restore keybinding (`cmd-alt-z` on macOS, `ctrl-k ctrl-r` on
  Linux/Windows) now triggers this action instead of `git: restore`.

---------

Co-authored-by: Afonso <4775087+afonsograca@users.noreply.github.com>

Dino and Afonso created

8475280 extension_cli: Add tests for semantic token rules and language tasks (#50750)

Click to expand commit body
This adds checks to the extension CLI to ensure that tasks and semantic
token rules are actually valid for the compiled extensions.

Release Notes:

- N/A

Finn Evers created

f5ff9ee docs: Add CC BY 4.0 and Unlicense as accepted extension licenses (#51089)

Click to expand commit body
Release Notes:

- N/A

Finn Evers created

1fa4fed auto_update: Always display update progress when requesting manual update (#51087)

Click to expand commit body
Before if a user requested a manual update check while an automatic one
was going we were not showing the update status as automatic ones force
hide them. Now requesting a manual check while an automatic one is
already going will instead make it visible.


Release Notes:

- N/A *or* Added/Fixed/Improved ...

Lukas Wirth created

8d5689a editor: Fix underflow panic in block map sync when blocks overlap (#51078)

Click to expand commit body
In `BlockMap::sync`, blocks within an edited region are sorted and
processed sequentially. Each block placement computes
`rows_before_block` by subtracting `new_transforms.summary().input_rows`
from the block's target position. The `Near`/`Below` cases have a guard
that skips the block if the target is already behind the current
progress, but `Above` and `Replace` were missing this guard.

When a `Replace` block (tie_break 0) is processed before an `Above`
block (tie_break 1) at the same or overlapping position, the `Replace`
block consumes multiple input rows, advancing `input_rows` past the
`Above` block's position. The subsequent `position - input_rows`
subtraction underflows on `u32`, producing a huge `RowDelta` that wraps
`wrap_row_end` past `wrap_row_start`, creating an inverted range that
propagates through the display map layers and panics as `begin <= end
(47 <= 0)` in a rope chunk slice.

Add underflow guards to `Above` and `Replace`, matching the existing
pattern in `Near`/`Below`.

Release Notes:

- Fixed a source of underflowing subtractions causing spurious panics

Lukas Wirth created

3f2ddcb editor: Prevent panic in `lsp_symbols_at_cursor` with diff hunks handling (#51077)

Click to expand commit body
Fixes ZED-5M9

No test as I couldn't quite reproduce this, as the cause is mostly a
guess

Release Notes:

- Fixed a panic in `lsp_symbols_at_cursor` when dealing with diff hunks

Lukas Wirth created

8762b7f Reuse existing bundled file editors (#51053)

Click to expand commit body
Closes #46837

Reuse the existing read-only bundled editor when opening default
settings or default key bindings again, instead of creating a duplicate
tab each time.

Also adds a regression test covering repeated `OpenDefaultSettings`
dispatches.

### Before


https://github.com/user-attachments/assets/ac2477b0-dc57-451c-a400-667c3613da2c


### After


https://github.com/user-attachments/assets/309fbd32-6dad-40a0-a864-b638a583ef52



Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- Fixed default settings and default key bindings reopening duplicate
tabs instead of reusing the existing tab.

ishaksebsib created

598f8ac docs: Fix YAML syntax error in frontmatter (#51004)

Click to expand commit body
The title in the YAML front matter contained a colon, which YAML
interprets as a key-value separator, causing a parse error. Quoted the
title value to fix it.

<img width="1087" height="248" alt="image"
src="https://github.com/user-attachments/assets/f074af0e-937c-4289-80a9-83cde294fd23"
/>

Release Notes:

- N/A

---------

Co-authored-by: Kunall Banerjee <hey@kimchiii.space>

ishaksebsib and Kunall Banerjee created

dde76cd Enable extended reasoning for Anthropic models in Copilot (#46540)

Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/45668

https://github.com/microsoft/vscode-copilot-chat used as a reference for
headers and properties we need to set

| Before | After | 
| --- | --- |
| <img width="300"
src="https://github.com/user-attachments/assets/d112a9ef-52d2-42ff-a77b-4b4b15f950fe"
/>| <img width="300"
src="https://github.com/user-attachments/assets/0f1d7ae0-bee1-46f7-92ef-aea0fa6cde7a"
/> |

Release Notes:

- Enabled thinking mode when using Anthropic models with Copilot

John Tur created

af2b35a ep: Make repair parser more robust (#51044)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

50ca710 gpui(linux): Pass display_id to layer shell get_layer_surface (#50520)

Click to expand commit body
Previously, `get_layer_surface` always passed `None` as the output,
causing all layer shell windows to appear on the compositor's default
output regardless of the requested display.

Store `wl_output` proxies in client state and resolve them from
`DisplayId` so the correct output is passed to `get_layer_surface`.

Release Notes:

- N/A

Leonard Seibold created

4031db1 Disable the IME on Windows when text input is unexpected (#51041)

Click to expand commit body
Fixes #42444

- Changed `accepts_text_input` on the editor to be more precise.
Previously, it returned `true` only in insert mode. Now it also returns
`true` when an operator is pending.
- On Windows, we disable the IME whenever there is no input handler
which `accepts_text_input`.
- How this improves Vim mode: in insert mode, the IME is enabled; in
normal mode, it is disabled (command keys are not intercepted); when an
operator is pending, the IME is re-enabled.

Release Notes:

- On Windows, the IME is disabled in Vim normal and visual modes.

John Tur created

8d083a6 Lazily initialize kernelspecs (#51026)

Click to expand commit body
On Windows, the WSL VM always boots up when Zed is opened, because we
eagerly discover which jupyter kernels are installed inside WSL on
startup. This is not desirable if the REPL feature is not being used.
Defer this work to the point where we actually need to know what kernels
are installed.

Release Notes:

- N/A

John Tur created

ba8f4d8 git_ui: Fix mouse cursor hiding when clicking git entry in project diff (#51016)

Click to expand commit body
Release Notes:

- Fixed mouse cursor disappearing when clicking a changed file in the Git Changes panel.

Smit Barmase created

9663d05 extension_api: Add language server schema methods (#48334)

Click to expand commit body
(This should be merged after #48332)

This PR exposes the LSP settings schema functionality to extensions,
allowing them to provide JSON schema for `initialization_options` and
`settings` fields to enable autocomplete in settings files.

New extension API methods (v0.8.0+):
- `language_server_initialization_options_schema`
- `language_server_settings_schema`

Both methods return an optional JSON string conforming to JSON schema.
Older extension versions gracefully return `None`.

Release Notes:

- Added support for settings schemas for the next version of the
extension API so that settings autocompletion can be provided for
language server settings.

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: MrSubidubi <finn@zed.dev>

Shuhei Kadowaki , Claude Opus 4.5 , and MrSubidubi created