55e4589
WIP
Click to expand commit body
We can parse `actions` but we need to enable them in rust-analyzer via `rust-analyzer.hoverActions.enable`
Antonio Scandurra created
55e4589
WIP
We can parse `actions` but we need to enable them in rust-analyzer via `rust-analyzer.hoverActions.enable`
Antonio Scandurra created
993919d
agent_ui: Add icon button to trigger the @-mention completions menu (#42449)
Closes https://github.com/zed-industries/zed/issues/37087 This PR adds an icon button to the footer of the message editor enabling to trigger and interact with the @-mention completions menu with the mouse. This is a first step towards making other types of context you can add in Zed's agent panel more discoverable. Next, I want to improve the discoverability of images and selections, given that you wouldn't necessarily know they work in Zed without a clear way to see them. But I think that for now, this is enough to close the issue above, which had lots of productive comments and discussion! <img width="500" height="540" alt="Screenshot 2025-11-11 at 10 46 3@2x" src="https://github.com/user-attachments/assets/fd028442-6f77-4153-bea1-c0b815da4ac6" /> Release Notes: - agent: Added an icon button in the agent panel that allows to trigger the @-mention menu (for adding context) now also with the mouse.
Danilo Leal created
8467a3d
agent_ui: Allow to uninstall agent servers from the settings view (#42445)
This PR also adds items within the "Add Agent" menu to: 1. Add more agent servers from extensions, opening up the extensions page with "Agent Servers" already filtered 2. Go to the agent server + ACP docs to learn more about them I feel like having them there is a nice way to promote this knowledge from within the product and have users learn more about them. <img width="500" height="540" alt="Screenshot 2025-11-11 at 10 46 3@2x" src="https://github.com/user-attachments/assets/9449df2e-1568-44d8-83ca-87cbb9eefdd2" /> Release Notes: - agent: Enabled uninstalled agent servers from the agent panel's settings view.
Danilo Leal created
ee2e690
agent_servers: Fix panic when setting default mode (#42452)
Closes ZED-35A Release Notes: - Fixed an issue where Zed would panic when trying to set the default mode for ACP agents
Bennet Bo Fenner created
28d019b
ollama: Fix tool calling (#42275)
Closes #42303 Ollama added tool call identifiers (https://github.com/ollama/ollama/pull/12956) in its latest version [v0.12.10](https://github.com/ollama/ollama/releases/tag/v0.12.10). This broke our json schema and made all tool calls fail. This PR fixes the schema and uses the Ollama provided tool call identifier when available. We remain backwards compatible and still use our own identifier with older versions of Ollama. I added a `TODO` to remove the `Option` around the new field when most users have updated their installations to v0.12.10 or above. Note to reviewer: The fix to this issue should likely get cherry-picked into the next release, since Ollama becomes unusable as an agent without it. Release Notes: - Fixed tool calling when using the latest version of Ollama
tidely created
a19d111
remote: Add more context to error logging in wsl (#42450)
cc https://github.com/zed-industries/zed/issues/40892 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
38e2c7a
editor: Hide file blame on editor cancel (ESC) (#42436)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
10d5d78
Improve error messages on extension loading (#42266)
This pull request improves error message when extension loading goes
wrong.
Before:
```
2025-11-08T21:16:02+08:00 ERROR [extension_host::extension_host] failed to load arkts extension.toml
Caused by:
No such file or directory (os error 2)
```
Now:
```
2025-11-08T22:57:00+08:00 ERROR [extension_host::extension_host] failed to load arkts extension.toml, "/Users/user_name_placeholder/Library/Application Support/Zed/extensions/installed/arkts/extension.toml"
Caused by:
No such file or directory (os error 2)
```
Release Notes:
- N/A
liuyanghejerry created
dfd7e85
Replace deprecated json.schemastore.org with www.schemastore.org (#42336)
Release Notes: - N/A According to [microsoft/vscode#254689](https://github.com/microsoft/vscode/issues/254689), the json.schemastore.org domain has been deprecated and should now use www.schemastore.org (or schemastore.org) instead. This PR updates all occurrences of the old domain within the Zed codebase, including code, documentation, and configuration files.
Terra created
b8fcd3e
gpui: Fix `RefCell already borrowed` in `WindowsPlatform::run` (#42440)
Fixes ZED-1VX Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
9be5e31
Add clear recent files history command (#42176)
 Release Notes: - Added "workspace: clear navigation history" command
Libon created
58db387
Find proper applicable chunks for visible ranges (#42422)
Release Notes: - Fixed inlay hints not being queried for certain long-ranged jumps Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com> Co-authored-by: Lukas Wirth <lukas@zed.dev>
Kirill Bulatov , Smit Barmase , and Lukas Wirth created
f2ad0d7
zeta cli: Print log paths when running predict (#42396)
Release Notes: - N/A Co-authored-by: Michael Sloan <mgsloan@gmail.com> Co-authored-by: Ben Kunkle <ben@zed.dev>
Agus Zubiaga , Michael Sloan , and Ben Kunkle created
777b465
auto_update: Ignore dir removal errors on windows (#42435)
The auto update helper already removes these when successful, so these will always fail in the common case. Additional replaces a mutable const with a static as otherwise we'll rebuild the job list on every access Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
b3dd515
docs: Fix broken links in docs with lychee (#42404)
Lychee is a [Rust based](https://lychee.cli.rs) async parallel link checker. I ran it against the codebase to suss out stale links and fixed those up. There's currently 2 remaining cases that I don't know how to resolve: 1. https://flathub.org/apps/dev.zed.Zed - nginx is giving a 502 bad gateway 2. https://github.com/zed-industries/zed/actions/workflows/ci.yml/badge.svg - I don't want to mess with the CI pipeline in this PR. Once again, I'll punt to the Docs Czar to see if this gets incorporated into CI later. --- ## Running `lychee` locally: ``` cargo binstall -y lychee lychee . ``` --- Release Notes: - N/A Signed-off-by: mrg <miguelraz@ciencias.unam.mx>
Miguel Raz Guzmán Macedo created
25489c2
Fix adding a Python virtual environment, may duplicate the "open this dictionary" string when modifying content. (#41840)
Release Notes: - Fixed an issue when adding a Python virtual environment that may cause duplicate "open this dictionary" entries - Trigger condition: Type `C:\`, delete `\`, then repeatedly add `\`. -Video bug: https://github.com/user-attachments/assets/f68008bb-9138-4451-a842-25b58574493b fix: https://github.com/user-attachments/assets/2913b8c2-adee-4275-af7e-e055fd78915f
dDostalker created
dc372e8
editor: Unfold buffers with selections on edit + Remove selections on buffer fold (#37953)
Closes #36376 Problem: Multi-cursor edits/selections in multi-buffers view were jumping to incorrect locations after toggling buffer folds. When users created multiple selections across different buffers in a multi-buffer view (like project search results) and then folded one of the buffers, subsequent text insertion would either: 1. Insert text at wrong locations (like at the top of the first unfolded buffer) 2. Replace the entire content in some buffers instead of inserting at the intended cursor positions 3. Create orphaned selections that caused corruption in the editing experience The issue seems to happen because when a buffer gets folded in a multi-buffer view, the existing selections associated with that buffer become invalid anchor points. Solution: 1. Selection Cleanup on Buffer Folding - Added `remove_selections_from_buffer()` method that filters out all selections from a buffer when it gets folded - This prevents invalid selections from corrupting subsequent editing operations - Includes edge case handling: if all selections are removed (all buffers folded), it creates a default selection at the start of the first buffer to prevent panics 2. Unfolding buffers before editing - Added `unfold_buffers_with_selections()` call in `handle_input()` ensures buffers with active selections are automatically unfolded before editing - This helps in fixing an edge case (covered in the tests) where, if you fold all buffers in a multi-buffer view, and try to insert text in a selection, it gets unfolded before the edit happens. Without this, the inserted text would override the entire buffer content. - If we don't care about this edge case, we could remove this method. I find it ok to add since we already trigger buffer unfolding after edits with `Event::ExcerptsEdited`. Release Notes: - Fixed multi-cursor edits jumping to incorrect locations after toggling buffer folds in multi-buffer views (e.g, project search) - Multi-cursor selections now properly handle buffer folding/unfolding operations - Text insertion no longer occurs at the wrong positions when buffers are folded during multi-cursor editing - Eliminated content replacement bugs where entire buffer contents were incorrectly overwritten - Added safe fallback behavior when all buffers in a multi-buffer view are folded --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Alexandre Anício and Smit Barmase created
1c4bb60
gpui: Fix invalid unwrap in windows window creation (#42426)
Fixes ZED-34M Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
97100ce
editor: Respect search case sensitivity when selecting occurrences (#42121)
Update how the editor's `select_*` methods work in order to respect the `search.case_sensitive` setting, or to be overriden by the `BufferSearchBar` search options. - Update both the `SearchableItem` and `SearchableItemHandle` traits with a new `set_search_is_case_sensitive` method that allows callers to set the case sensitivity of the search - Update the `BufferSearchBar` to leverage `SearchableItemHandle.set_search_is_case_sensitive` in order to sync its case sensitivity options with the searchable item - Update the implementation of the `SearchableItem` trait for `Editor` so as to store the argument provided to the `set_search_is_case_sensitive` method - Update the way search queries are built by `Editor` so as to rely on `SearchableItem.set_search_is_case_sensitive` argument, if not `None`, or default to the editor's `search.case_sensitive` settings Closes #41070 Release Notes: - Improved the "Select Next Occurrence", "Select Previous Occurrence" and "Select All Occurrences" actions in order to respect the case sensitivity search settings --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Dino and Conrad Irwin created
dcf5614
vim: Sort whole buffer when no range is specified (#42376)
- Introduce a `default_range` field to `VimCommand`, to be optionally used when no range is specified for the command - Update `VimCommand.parse` to take into consideration the `default_range` - Introduce `CommandRange::buffer` to obtain the `CommandRange` which corresponds to the whole buffer - Update the `VimCommand` definitions for both `sort` and `sort i` to default to the whole buffer when no range is specified Closes #41750 Release Notes: - Improved vim's `:sort` command to sort the buffer's content when no selection is used
Dino created
46db753
diagnostics: Fix panic due non-sorted diagnostics excerpt ranges (#42416)
Fixes ZED-356 Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Lukas Wirth and Smit Barmase created
1a807a7
terminal: Spawn terminal process on main thread on macos again (#42411)
Closes https://github.com/zed-industries/zed/issues/42365, follow up to https://github.com/zed-industries/zed/pull/42234 Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
f90d078
git: Add notification to git clone (#41712)
Adds a simple notification when cloning a repo using the integrated git clone on Zed. Before this, the user had no feedback after starting the cloning action. Demo: https://github.com/user-attachments/assets/72fcdf1b-fc99-4fe5-8db2-7c30b170f12f Not sure about that icon I'm using for the animation, but that can be easily changed. Release Notes: - Added notification when cloning a repo from zed
Alvaro Parker created
9e717c7
Use cloud for auto-update (#42246)
We've had several outages with a proximate cause of "vercel is complicated", and auto-update is considered a critical feature; so lets not use vercel for that. Release Notes: - Auto Updates (and remote server binaries) are now downloaded via https://cloud.zed.dev instead of https://zed.dev. As before, these URLs redirect to the GitHub release for actual downloads.
Conrad Irwin created
823844e
vim: Fix increment order (#42256)
before: https://github.com/user-attachments/assets/d490573c-4c2b-4645-a685-d683f06c611f after: https://github.com/user-attachments/assets/a69067a1-6e68-4f05-ba56-18eadb1c54df Release Notes: - Fix vim increment order
CnsMaple created
70bcf93
Add an `event_source` to events (#42125)
Release Notes: - N/A
Conrad Irwin created
378b30e
Use cloud.zed.dev for install.sh (#42399)
Similar to #42246, we'd like to avoid having Vercel on the critical path. https://zed.dev/install.sh is served from Cloudflare by intercepting a route on that page, so this makes the shell-based install flow vercel independent. Release Notes: - `./script/install.sh` will now fetch assets via `https://cloud.zed.dev/` instead of `https://zed.dev`. As before it will redirect to GitHub releases to complete the download.
Conrad Irwin created
83e7c21
collab: Remove unused user queries (#42400)
This PR removes queries on users that were no longer being used. Release Notes: - N/A
Marshall Bowers created
e488b6c
agent_ui: Fix issue where MCP extension could not be uninstalled (#42384)
Closes https://github.com/zed-industries/zed/issues/42312 The issue here was that we assumed that context servers provided by extensions would always need a config in the settings to be present when actually the opposite was the case - context servers provided by extensions are the only context servers that do not need a config to be in place in order to be available in the UI. Release Notes: - Fixed an issue where context servers provided by extensions could not be uninstalled if they were previously unconfigured.
Finn Evers created
f52549c
Small documentation fixes (#42397)
Release Notes: - N/A Co-authored-by: Ole Jørgen Brønner <olejorgenb@gmail.com>
Kirill Bulatov and Ole Jørgen Brønner created
359521e
Allow passing model_name to evals (#42395)
Release Notes: - N/A
Conrad Irwin created
b607077
Add old_text/new_text as a zeta2 prompt format (#42171)
Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <agus@zed.dev> Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com> Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Max Brunsfeld , Agus Zubiaga , Oleksiy Syvokon , Ben Kunkle , and Michael Sloan created
e5fce42
Update CI badge in README (#42394)
This PR updates the CI badge in the README, after the CI workflow reorganization. Release Notes: - N/A
Marshall Bowers created
a8b0436
Refactor completions (#42122)
This is progress toward multi-word snippets (including snippets with prefixes containing symbols) Release Notes: - Removed `trigger` argument in `ShowCompletions` command --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Andrew Farkas and Conrad Irwin created
11b38db
collab: Drop `channel_messages` table and its dependents (#42392)
This PR drops the `channel_messages` table and its dependents—`channel_message_mentions` and `observed_channel_messages`—as they are no longer used. Release Notes: - N/A
Marshall Bowers created
112b5c1
Add QuitMode policy to GPUI (#42391)
Applications can select a policy for when the app quits using the new function `Application::with_quit_mode`: - Only on explicit calls to `App::quit` - When the last window is closed - Platform default (former on macOS, latter everywhere else) Release Notes: - N/A
John Tur created
32ec103
collab: Remove unused models left over from chat (#42390)
This PR removes some database models that were left over from the chat feature. Release Notes: - N/A
Marshall Bowers created
a44fc9a
Rename `ThemeMode` to `ThemeAppearanceMode` (#42279)
There was a TODO in `crates/settings/src/settings_content/theme.rs` to make this rename. This PR is just splitting off this change from https://github.com/zed-industries/zed/pull/40035 to make reviewing that one a bit easier since that PR is a bit more involved than expected. Release Notes: - N/A Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
Connor Tsui created
efcd7f7
Slightly improve completion in settings.json (for lsp.<language-server>.) (#42263)
Document "any-typed" (`serde_json::Value`) "lsp" keys to include them in
json-language-server completions.
The vscode-json-languageserver seems to skip generically typed keys when
offering completion.
For this schema
```
"LspSettings": {
"type": "object",
"properties": {
...
"initialization_options": true,
...
}
}
```
"initialization_options" is not offered in the completion.
The effect is easy to verify by triggering completion inside:
```
"lsp": {
"basedpyright": {
COMPLETE HERE
```
<img width="797" height="215" alt="image"
src="https://github.com/user-attachments/assets/d1d1391c-d02c-4028-9888-8869f4d18b0f"
/>
By adding a documentation string the keys are offered even if they are
generically typed:
<img width="809" height="238" alt="image"
src="https://github.com/user-attachments/assets/9a072da9-961b-4e15-9aec-3d56933cbe67"
/>
---
Note: I did some cursory research of whether it's possible to make
vscode-json-languageserver change behavior without success. IMO, not
offering completions here is a bug (or at minimal should be
configurable)
---
Release Notes:
- N/A
---------
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Ole Jørgen Brønner and Kirill Bulatov created
aaf2f9d
Ignore "Option as Meta" setting outside of macOS (#42367)
The "Option" key only exists on a Mac. On other operating systems, it is always expected that the Alt key generates escaped characters. Fixes https://github.com/zed-industries/zed/issues/40583 Release Notes: - N/A
John Tur created
62e3a49
editor: Fix rare panic in wrap map (#39379)
Closes ZED-1SV Closes ZED-TG Closes ZED-22G Closes ZED-22J This seems to fix the reported error there, but ultimately, this might benefit from a test to reproduce. Hence, marking as draft for now. Release Notes: - Fixed a rare panic whilst wrapping lines.
Finn Evers created
87d0401
editor: Show relative line numbers for deleted rows (#42378)
Closes #42191 This PR adds support for relative line numbers in deleted hunks. Note that this only applies in cases where there is a form of relative numbering. It also adds some tests for this functionality as well as missing tests for other cases in line layouting that was previously untested. Release Notes: - Line numbers will now be shown in deleted git hunks if relative line numbering is enabled
Finn Evers created
2c375e2
agent_ui: Ensure message editor placeholder text is accurate (#42375)
This PR creates a dedicated function for the agent panel message editor's placeholder text so that we can wait for the agent initialization to capture whether they support slash commands or not. On the one (nice) hand, this allow us to stop matching agents by name and make this a bit more generic. On the other (bad) hand, the "/ for commands" bit should take a little second to show up because we can only know whether an agent supports it after it is initialized. This is particularly relevant now that we have agents coming from extensions and for them, we would obviously not be able to match by name. Release Notes: - agent: Fixed agent panel message editor's placeholder text by making it more accurate as to whether agents support slash commands, particularly those coming from extensions.
Danilo Leal created
c24f9e4
Try to download wasi-sdk ahead of time (#42377)
This hopefully resolves the lingering test failures on linux, but also adds some logging just in case this isn't the problem... Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Conrad Irwin and Ben Kunkle created
3fbfea4
Support relative paths in LSP & DAP binaries (#42135)
Closes #41214 Release Notes: - Added support for relative paths in LSP and DAP binaries --------- Co-authored-by: Cole Miller <cole@zed.dev> Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
Andrew Farkas , Cole Miller , and Julia Ryan created
2b369d7
rust: Explicitly capture lifetime identifier (#42372)
Closes #42030 This matches what VSCode and basically also this capture does. However, the identifier capture was overridden by other captures, hence the need to be explicit here. | Before | After | | - | - | | <img width="930" height="346" alt="Bildschirmfoto 2025-11-10 um 17 56 28" src="https://github.com/user-attachments/assets/e938c863-0981-4368-ab0a-a01dd04cfb24" /> | <img width="930" height="346" alt="Bildschirmfoto 2025-11-10 um 17 54 35" src="https://github.com/user-attachments/assets/f3b74011-c75c-448a-819e-80e7e8684e92" /> | Release Notes: - Improved lifetime highlighting in Rust using the `lifetime` capture.
Finn Evers created
ed61a79
agent_ui: Fix history view losing focus when empty (#42374)
Closes https://github.com/zed-industries/zed/issues/42356 This PR fixes the history view losing focus by simply always displaying the search editor. I don't think it's too weird to not have it when it's empty, and it also ends up matching how regular pickers work. Release Notes: - agent: Fixed a bug where navigating the agent panel with the keyboard wouldn't work if you visited the history view and it was empty/had no entries.
Danilo Leal created
aa6270e
editor: Add sticky scroll (#42242)
Closes #5344 https://github.com/user-attachments/assets/37ec58b0-7cf6-4eea-9b34-dccf03d3526b Release Notes: - Added a setting to stick scopes to the top of the editor --------- Co-authored-by: KyleBarton <kjb@initialcapacity.io> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Tim Vermeulen , KyleBarton , and Conrad Irwin created
d896af2
git: Handle buffer file path changes (#41944)
Update `GitStore.on_buffer_store_event` so that, when a `BufferStoreEvent::BufferChangedFilePath` event is received, we check if there's any diff state for the buffer and, if so, update it according to the new file path, in case the file exists in the repository. Closes #40499 Release Notes: - Fixed issue with git diff tracking when updating a buffer's file from an untracked to a tracked file
Dino created
c748b17
zeta2 cli: Cache at LLM request level (#42371)
We'll now cache LLM responses at the request level (by hash of URL+contents) for both context and prediction. This way we don't need to worry about mistakenly using the cache when we change the prompt or its components. Release Notes: - N/A --------- Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Agus Zubiaga and Oleksiy Syvokon created