e5cea54
acp: Load agent panel even if serialized config is bogus (#37134)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Conrad Irwin
created
cfd56a7
zeta: Show update required notification on appropriate window(s) (#37130)
Click to expand commit body
To show these notifications, Zeta was being initialized with the initial
workspace it's used on - which may not even still exist! This removes a
confusing/misleading workspace field from Zeta.
Release Notes:
- N/A
Michael Sloan
created
960d9ce
Disable Expert language server by default for Elixir (#37126)
Click to expand commit body
This PR updates the language server configuration for Elixir and HEEx to
not start the [Expert](https://github.com/elixir-lang/expert) language
server by default.
While Expert is the official Elixir language server, it is still early,
so we don't want to make it the default just yet.
Release Notes:
- Updated the default Elixir and HEEx language server settings to not
start the Expert language server.
This PR adds documentation for
[Expert](https://github.com/elixir-lang/expert) to the Elixir docs.
Also updated the examples for the other language servers to be
representative of all the supported language servers.
Release Notes:
- N/A
Marshall Bowers
created
8c18f05
Always enable acp accept/reject buttons for now (#37121)
Click to expand commit body
We have a bug in our ACP implementation where sometimes the
Accept/Reject buttons are disabled (and stay disabled even after the
thread has finished). I haven't found a complete fix for this yet, so in
the meantime I'm putting out the fire by making it so those buttons are
always enabled. That way you're never blocked, and the only consequence
of the bug is that sometimes they should be disabled but are enabled
instead.
Release Notes:
- N/A
Richard Feldman
created
930189e
acp: Support automatic installation of Claude Code (#37120)
No big changes, just tracking the latest version after the official
release
Release Notes:
- N/A
Ben Brandt
created
88e8f7a
Activate preview for initially selected item (#37112)
Click to expand commit body
@JosephTLyons pointed out that it's a bit weird that we only show a
preview for items selected after the initial one, so this does it for
that too.
It makes tab switching feel even faster!
Release Notes:
- N/A
Co-authored-by: David Kleingeld <davidsk@zed.dev>
Julia Ryan
and
David Kleingeld
created
f2e62c9
docs: Fix broken link in `agent-panel.md` (#37113)
Click to expand commit body
This fixes a small typo I stumbled upon, which caused a 404 within the
docs.
Release Notes:
- N/A
Finn Evers
created
8697b91
acp: Automatically install gemini under Zed's data dir (#37054)
Click to expand commit body
Closes: https://github.com/zed-industries/zed/issues/37089
Instead of looking for the gemini command on `$PATH`, by default we'll
install our own copy on demand under our data dir, as we already do for
language servers and debug adapters. This also means we can handle
keeping the binary up to date instead of prompting the user to upgrade.
Notes:
- The download is only triggered if you open a new Gemini thread
- Custom commands from `agent_servers.gemini` in settings are respected
as before
- A new `agent_servers.gemini.ignore_system_version` setting is added,
similar to the existing settings for language servers. It's `true` by
default, and setting it to `false` disables the automatic download and
makes Zed search `$PATH` as before.
- If `agent_servers.gemini.ignore_system_version` is `false` and no
binary is found on `$PATH`, we'll fall back to automatic installation.
If it's `false` and a binary is found, but the version is older than
v0.2.1, we'll show an error.
Release Notes:
- acp: By default, Zed will now download and use a private copy of the
Gemini CLI binary, instead of searching your `$PATH`. To make Zed search
your `$PATH` for Gemini CLI before attempting to download it, use the
following setting:
```
{
"agent_servers": {
"gemini": {
"ignore_system_version": false
}
}
}
```
Cole Miller
created
47aaaa8
Make `SanitizedPath` wrap `Path` instead of `Arc<Path>` to avoid allocation (#37106)
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Closes #ISSUE
Release Notes:
- N/A
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Conrad Irwin
and
Antonio Scandurra
created
909d721
Update patch and nightly release docs (#37109)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
27777d4
Have ACP respect always_allow_tool_actions (#37104)
Click to expand commit body
Release Notes:
- ACP agents now respect the always_allow_tool_actions setting
Richard Feldman
created
4469b14
collab_ui: Show channel list while reconnecting (#37107)
Click to expand commit body
This PR makes it so the channel list will still be shown while
reconnecting to Collab instead of showing the signed-out state.
In order to model the transitional states that occur while reconnecting,
we needed to introduce a new `Status::Reauthenticated` state that we go
through when signing in as part of a reconnect. This is because we
cannot tell from `Status::Authenticated` alone if we're authenticating
for the first time or reauthenticating.
Release Notes:
- N/A
This PR bumps the HTML extension to v0.2.2.
Changes:
- https://github.com/zed-industries/zed/pull/28184
- https://github.com/zed-industries/zed/pull/36948
- https://github.com/zed-industries/zed/pull/37098
Release Notes:
- N/A
We were missing an outline definition for HTML flies, hence this PR adds
one for that
<img width="255" height="726" alt="image"
src="https://github.com/user-attachments/assets/ae59cb8d-6c69-4019-966a-d5baf744329d"
/>
Release Notes:
- N/A
Closes #36420
## Synopsis
The issue in #36420 is caused by #7276, which bound the appropriate
tree-sitter queries to the `@variable.member` color. However, I have
found neither this color's declaration nor its other usages in the
codebase (neither on the latest `main` nor on
79c1003b344ee513cf97ee8313c38c7c3f02c916).
Other languages use for such situations the `@property` color.
## Solution
Just change the used `@variable.member` color to the `@property` one.
Seems fully inline with the changes illustrated in #7276.
## Screenshots
<img width="856" height="465" alt="Screenshot 2025-08-28 at 13 18 38"
src="https://github.com/user-attachments/assets/9d1f3542-8749-421f-864f-959c1242cc64"
/>
<img width="837" height="462" alt="Screenshot 2025-08-28 at 13 20 08"
src="https://github.com/user-attachments/assets/36a80c22-9de9-46b1-87e3-7fdeaa62978f"
/>
## Changelog
Release Notes:
- go: Fixed highlighting of fields.
Kai Ren
created
2cb697e
copilot: Use updated Copilot Chat model schema (#33007)
Click to expand commit body
Use the latest Copilot Chat model schema, matching what is used in
VSCode, to get more data about available models than was previously
accessible. Replace hardcoded default model (gpt-4.1) with the default
model included in JSON. Other data like premium request multipliers
could be used in the future if Zed implements a way for models to
display additional details about themselves, such as with tooltips on
hover.
Release Notes:
- N/A
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
Liam
and
Peter Tripp
created
c8e9912
language_models: Fix tool calling for `x-ai/grok-code-fast-1` model via OpenRouter (#37094)
Click to expand commit body
Closes #37022
Closes #36994
This update ensures all Grok models use the JsonSchemaSubset format for
tool schemas.
A previous fix for this issue was too specific, only targeting grok-4
models. This caused other variants, like grok-code-fast-1, to be missed.
We've now broadened the logic to correctly apply the setting to the
entire Grok model family.
Release Notes:
- Fix tool calling for `x-ai/grok-code-fast-1` model via OpenRouter.
Umesh Yadav
created
835e5ba
Inject venv environment via the toolchain (#36576)
Click to expand commit body
Instead of manually constructing the venv we now ask the python
toolchain for the relevant information, unifying the approach of vent
inspection
Fixes https://github.com/zed-industries/zed/issues/27350
Release Notes:
- Improved the detection of python virtual environments for terminals
and tasks in remote projects.
Lukas Wirth
created
24ee98b
agent2: Fix model deduplication to use provider ID and model ID (#37088)
Click to expand commit body
Closes #37043
Previously claude sonnet 4 was missing from copilot as it was colliding
with zed's claude-sonnet-4 model id. Now we do deduplication based upon
model and provider id both.
| Before | After |
|--------|--------|
| <img width="784" height="950" alt="CleanShot 2025-08-28 at 18 31
28@2x"
src="https://github.com/user-attachments/assets/d49d5a17-7271-417d-bb5e-bc380071e810"
/> | <img width="720" height="876" alt="CleanShot 2025-08-28 at 18 31
42@2x"
src="https://github.com/user-attachments/assets/a5100c05-994e-4e19-ab20-34c0258b977c"
/> |
Release Notes:
- Fixed an issue where models with the same ID from different providers
(such as Claude Sonnet 4 from both Zed and Copilot) were incorrectly
deduplicated in the model selector—now all variants are shown.
Umesh Yadav
created
213ee32
docs: Make unsupported features more prominent in external agents (#37090)
Click to expand commit body
Use the notes component to better highlight that in the docs UI.
Release Notes:
- N/A
Take 2: https://github.com/zed-industries/zed/pull/36709 but without the
very bad `cfg`-based approach for storing the RPC logs.
--------------
Enables LSP log tracing in both remote collab and remote ssh
environments.
Server logs and server RPC traces can now be viewed remotely, and the
LSP button is now shown in such projects too.
Closes https://github.com/zed-industries/zed/issues/28557
Co-Authored-By: Kirill <kirill@zed.dev>
Co-Authored-By: Lukas <lukas@zed.dev>
Release Notes:
- Enabled LSP log tracing in both remote collab and remote ssh
environments
---------
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Lukas Wirth <lukas@zed.dev>
Kirill Bulatov
,
Ben Kunkle
, and
Lukas Wirth
created
39d86ee
Trim API key when submitting requests to LLM providers (#37082)
Click to expand commit body
This prevents the common footgun of copy/pasting an API key
starting/ending with extra newlines, which would lead to a "bad request"
error.
Closes #37038
Release Notes:
- agent: Support pasting language model API keys that contain newlines.
Antonio Scandurra
created
4981c33
acp: Don't cancel editing when scrolling message out of view (#37020)
Click to expand commit body
Release Notes:
- agent: Fixed a bug that canceled editing when scrolling the user
message out of view.
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Antonio Scandurra
and
Bennet Bo Fenner
created
54609d4
Fix boolean settings in "Agent Settings" documentation page (#37068)
Click to expand commit body
This fixes some errors in the examples in the "Agent Settings" page at
https://zed.dev/docs/ai/agent-settings#agent-settings, where strings
"true" and "false" are used in place of the proper boolean JSON values:
strings don't work for all those settings, and are marked as errors when
editing settings.json, while booleans do work.
Release Notes:
- N/A
This pull request refactors the `KeybindingKeystroke` struct and related
code to improve platform abstraction. The changes centralize
platform-specific logic within `KeybindingKeystroke` and update its
usage throughout the codebase, making the API more consistent and less
error-prone.
Release Notes:
- N/A
张小白
created
73b38c8
debugger: Add ability to only show stack frame entries from visible work trees (#37061)
Click to expand commit body
This PR adds a toggleable filter to the stack frame list that filters
out entries that don't exist within a user's project (visible work
trees). This works by keeping a vector of entry indices that exist
within a user's project and updates the list state based on these
entries when filtering the list.
I went with this approach so the stack frame list wouldn't have to
rebuild itself whenever the filter is toggled and it could persist its
state across toggles (uncollapsing a collapse list). It was also easier
to keep track of selected entries on toggle using the vector as well.
### Preview
https://github.com/user-attachments/assets/d86c7485-c885-4bbb-bebb-2f6385674925
Release Notes:
- debugger: Add option to only show stack frames from user's project in
stack frame list
Anthony Eid
created
38e5c8f
keymap_editor: Fix incorrect keystroke being reported (#36998)
Click to expand commit body
This PR fixes two bugs and also changes one behavior in the **Keymap
Editor**.
As shown in the video, when I press `ctrl-shift-2` in the Keymap Editor,
the first keystroke is displayed as `ctrl-shift-@`, which is incorrect.
On macOS and Linux, it should be `ctrl-@`.
https://github.com/user-attachments/assets/69cfcfa0-b422-45d6-8e69-80f8608180fd
Also, after pressing `ctrl-shift-2` and then releasing `2` and `ctrl`, a
`shift` keystroke was incorrectly added.
https://github.com/user-attachments/assets/892124fd-847d-4fde-9b20-a27ba49ac934
Now, when you enter a sequence like `+ctrl+alt-alt+f` in the Keymap
Editor, it will output `ctrl-f` instead of `ctrl-alt-f`, matching VS
Code’s behavior.
Release Notes:
- Fixed incorrect keystroke reporting in the Keymap Editor.
Closes https://github.com/zed-industries/zed/issues/14722
Closes https://github.com/zed-industries/zed/issues/4948
Closes https://github.com/zed-industries/zed/issues/7136
Follow up of https://github.com/zed-industries/zed/pull/20557 and
https://github.com/zed-industries/zed/pull/32238.
Based on the discussions in the previous PRs and the pairing session
with @ConradIrwin I've decided to rewrite it from scratch, to properly
incorporate all the requirements. The feature is opt-in, the settings is
set to false by default. Once enabled via the Zed settings, it will
behave according to the user’s system preference, without requiring a
restart — the next window opened will adopt the new behavior (similar to
Ghostty).
I’m not entirely sure if the changes to the Window class are the best
approach. I’ve tried to keep things flexible enough that other
applications built with GPUI won’t be affected (while giving them the
option to still use it), but I’d appreciate input on whether this
direction makes sense long-term.
https://github.com/user-attachments/assets/9573e094-4394-41ad-930c-5375a8204cbf
### Features
* System-aware tabbing behavior
* Respects the three system modes: Always, Never, and Fullscreen
(default on macOS)
* Changing the Zed setting does not require a restart — the next window
reflects the change
* Full theme support
* Integrates with light and dark themes
* [One
Dark](https://github.com/user-attachments/assets/d1f55ff7-2339-4b09-9faf-d3d610ba7ca2)
* [One
Light](https://github.com/user-attachments/assets/7776e30c-2686-493e-9598-cdcd7e476ecf)
* Supports opaque/blurred/transparent themes as best as possible
* [One Dark -
blurred](https://github.com/user-attachments/assets/c4521311-66cb-4cee-9e37-15146f6869aa)
* Dynamic layout adjustments
* Only reserves tab bar space when tabs are actually visible
* [With
tabs](https://github.com/user-attachments/assets/3b6db943-58c5-4f55-bdf4-33d23ca7d820)
* [Without
tabs](https://github.com/user-attachments/assets/2d175959-5efc-4e4f-a15c-0108925c582e)
* VS Code compatibility
* Supports the `window.nativeTabs` setting in the VS Code settings
importer
* Command palette integration
* Adds commands for managing tabs to the command palette
* These can be assigned to keyboard shortcuts as well, but didn't add
defaults as to not reserve precious default key combinations
Happy to pair again if things can be improved codewise, or if
explanations are necessary for certain choices!
Release Notes:
* Added support for native macOS window tabbing. When you set
`"use_system_window_tabs": true`, Zed will merge windows in the same was
as macOS: by default this happens only when full screened, but you can
adjust your macOS settings to have this happen on all windows.
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Gaauwe Rombouts
and
Conrad Irwin
created
0a9f407
search: Add support for case-sensitivity pattern items (#34762)
Click to expand commit body
This Pull Request introduces support for pattern items in the buffer
search. It does so by splitting the `query` methods into two new
methods:
- `BufferSearchBar.raw_query` – returns the text from the search query
editor
- `BufferSearchBar.query` - returns the search query with pattern items
removed
Whenever the search query is updated, processing of the
`EditorEvent::Edited` event ends up calling the
`BufferSearchBar.apply_pattern_items` method, which parses the pattern
items from the raw query, and updates the buffer search bar's search
options accordingly. This `apply_pattern_items` function avoids updating
the `BufferSearchBar.default_options` field in order to be able to reset
the search options when a pattern items is removed. Lastly, new pattern
items can easily be added by updating the `PATTERN_ITEMS` array.
### Screen Capture
https://github.com/user-attachments/assets/ebd83c38-e480-4c24-9b8c-6edde69cf392
---
Closes #32390
Release Notes:
- Added support for the `\c` and `\C` query pattern items to control
case-sensitivity in buffer search
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Closes #32020
Release Notes:
- Helix: Improve `x` behaviour. Will respect modifiers (`5 x`). Pressing
`x` on a empty line, will select current+next line, because helix
considers current line to be already selected without the need of
pressing `x`.
Romans Malinovskis
created
8af212e
Fix watching of Git repo in presence of scanner restarts (#37052)
Click to expand commit body
The scanner is restarted after loading initial settings, and there was
an optimization to not re-discover and re-watch git repositories if they
already exist in the snapshot. #35865 added cleanup of watches that
occurred when the scanner restarts, and so in some cases repos were no
longer watched.
Release Notes:
- Linux: Fixed a case where Git repositories might not be watched for
changes, causing branch switching to not update the UI.
Co-authored-by: Julia <julia@zed.dev>
This reverts commit e2bf8e5d9c9b1b14cad1c9c618bb724c04182a2c.
See
https://github.com/zed-industries/zed/pull/37050#issuecomment-3230017137
for the context: musl builds started to fail and the amount of `cfg!`s
to fix this is too large.
Instead, the lsp_log.rs has to be split and repurposed better for the
remote headless server.
Release Notes:
- N/A
Kirill Bulatov
created
9a97f94
rust: Improve highlighting within macros (#37049)
Click to expand commit body
This makes sure we do not apply the highlights for snake case
identifiers as well as paths for attributes too broadly to all types of
macros, which should make macros much more readable overall whilst
keeping the highlighting for the attribute items.
| Before | After |
| --- | --- |
| <img width="1414" height="958" alt="Bildschirmfoto 2025-08-28 um 00 37
58"
src="https://github.com/user-attachments/assets/1254b9a2-d07a-4be4-9b4f-555a7c640302"
/> | <img width="1414" height="958" alt="Bildschirmfoto 2025-08-28 um 00
37 38"
src="https://github.com/user-attachments/assets/5f6dd66c-5469-4f27-9f1d-0a6e6e8d8085"
/> |
Release Notes:
- rust: Improved highlighting within macros.
Finn Evers
created
48299b5
search: Preserve `SearchOptions` across dismisses (#36954)
Click to expand commit body
Closes #36931 and #21956
Preserves `SearchOptions` across dismisses of the buffer search bar.
This behavior is consistent with VSCode, which seems reasonable. The
`configured_options` field is then no longer being used. The
configuration is still read during initialization of the
`BufferSearchBar`, but not after.
Something to consider is that there are other elements in the search bar
which are not kept across dismisses such as replace status. However
these are visually separated in the UI, leading me to believe this is a
okay change to make.
Release Notes:
- Preserve search options between buffer search dismisses
tidely
created
4e4bfd6
editor: Add "Wrap Selections in Tag" action (#36948)
Click to expand commit body
This PR adds the ability for a user to select one or more blocks of text
and wrap each selection in an HTML tag — which works by placing multiple
cursors inside the open and close tags so the appropriate element name
can be typed in to all places simultaneously.
This is similar to the emmet "Wrap with Abbreviation" functionality
discussed in #15588 but is a simpler version that does not rely on
Emmet's language server.
Here's a preview of the feature in action:
https://github.com/user-attachments/assets/1931e717-136c-4766-a585-e4ba939d9adf
Some notes and questions:
- The current implementation is a hardcoded with regards to supported
languages. I'd love some direction on how much of this information to
push into the relevant language structs.
- I can see this feature as something that languages added by an
extension would want to enable support for — is this something you'd
want?
- The syntax is hardcoded to support HTML/XML/JSX-like languages. I
don't suppose this is a problem but figured I'd point it out anyway.
- I called it "Wrap in tag" but open to whatever naming you feel is
appropriate.
- The implementation doesn't use `manipulate_lines` — I wasn't sure how
make use of that without extra overhead / bookkeeping — does this seem
fine?
- I could also investigate adding wrap in abbreviation support by
communicating with the Emmet language server but I think I'll need some
direction on how to handle Emmet's custom LSP message. I could do this
either in addition to or instead of this feature — though imo this
feature is a nice "shortcut" regardless.
Release Notes:
- Added a new "Wrap Selections in Tag" action that lets you wrap one or
more selections in tags based on language. Works in HTML, JSX, and
similar languages, and places cursors inside both opening and closing
tags so you can type the tag name once and apply it everywhere.
---------
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Jordan Pittman
and
Smit Barmase
created
5444fbd
python: Look for local venvs in all directories between root of the worktree and current pyproject.toml (#37037)
Click to expand commit body
cc @michael-ud - if you can build Zed, I'd appreciate it if you could
give this a go with your project. Otherwise I can provide a link to
download of current nightly via an e-mail for you to try out (if you
want).
This change will land in Preview (if merged) on next Wednesday and then
it'll be in Stable a week after that.
Related to: #20402
Release Notes:
- python: Zed now searches for virtual environments in intermediate
directories between a root of the worktree and the location of
pyproject.toml applicable to the currently focused file.
Piotr Osiewicz
created
58f896e
Update Wednesday release process docs (#37033)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
d43cf2c
Link out to release channel FAQ in Docs (#37029)
Click to expand commit body
This PR links users to the FAQ on the release channels, which has more
in-depth coverage of the process.
Release Notes:
- N/A
Enables LSP log tracing in both remote collab and remote ssh
environments.
Server logs and server RPC traces can now be viewed remotely, and the
LSP button is now shown in such projects too.
Closes https://github.com/zed-industries/zed/issues/28557
Co-Authored-By: Kirill <kirill@zed.dev>
Co-Authored-By: Lukas <lukas@zed.dev>
Release Notes:
- Enabled LSP log tracing in both remote collab and remote ssh
environments
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Co-authored-by: Lukas Wirth <lukas@zed.dev>
Ben Kunkle
,
Kirill Bulatov
, and
Lukas Wirth
created
c158eb2
docs: Note that Gemini CLI is not supported over SSH (#37023)
Click to expand commit body
Release Notes:
- N/A
Cole Miller
created
71f9003
Add ';' and '*' to word_chars to improve softwrap (#37024)
Click to expand commit body
Follow-up to: https://github.com/zed-industries/zed/pull/37019
See also: https://github.com/zed-industries/zed/issues/37010
Before/After:
<img width="418" height="402" alt="Screenshot 2025-08-27 at 13 54 52"
src="https://github.com/user-attachments/assets/1b2e02dd-c216-4372-b23e-5a3a619d2b77"
/>
Release Notes:
- N/A
Peter Tripp
created
9ca4fb1
gpui: Support disabling window resizing and minimizing (#36859)
45ff22f
Add bang to word chars for wrapping (#37019)
Click to expand commit body
Fixes #37010
Release Notes:
- N/A
Julia Ryan
created
fead511
docs: Update Gemini CLI version requirements and install instructions (#37008)
Click to expand commit body
Gemini cli - 0.2.0 is no longer in preview it's the latest version and
released as of today.
Release Notes:
- N/A
Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav
created
07373d1
acp: Fix gemini process being leaked (#37012)
Click to expand commit body
Release Notes:
- acp: Fixed a bug that caused external agent server subprocesses to be
leaked.
---------
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Cole Miller
,
Agus Zubiaga
,
Bennet Bo Fenner
, and
Antonio Scandurra
created
b5e9b65
acp: Fix model selector sometimes showing no models (#37006)
Click to expand commit body
Release Notes:
- acp: Fix an issue where the model selector would sometimes be empty
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Bennet Bo Fenner
and
Antonio Scandurra
created
5d7f12c
project: Add dynamic capabilities registration for "workspace/didChangeWorkspaceFolders" (#37005)
Click to expand commit body
Fixes missing capability registration for
"workspace/didChangeWorkspaceFolders".
```
WARN [project::lsp_store] unhandled capability registration: Registration { id: "e288546c-4458-401a-a029-bbba759d5a71", method: "workspace/didChangeWorkspaceFolders", register_options: Some(Object {}) }
```
We already correctly send back events to server on workspace add and
remove by checking this capability.
https://github.com/zed-industries/zed/blob/cf89691b85e4652093548c0bf8b79d881e26562b/crates/lsp/src/lsp.rs#L1353
https://github.com/zed-industries/zed/blob/cf89691b85e4652093548c0bf8b79d881e26562b/crates/lsp/src/lsp.rs#L1388
Release Notes:
- N/A