8c04f12
debugger: Tighten up breakpoint list (#33645)
Click to expand commit body
Release Notes: - N/A
Piotr Osiewicz created
8c04f12
debugger: Tighten up breakpoint list (#33645)
Release Notes: - N/A
Piotr Osiewicz created
aa7ccec
agent: Reduce log spam for context servers (#33644)
Previously we would always run `maintain_servers` even if the settings did not change. While this would not cause any MCP servers to restart, we would still go through all configured servers and call the `command(...)` function on each installed MCP extension. This can cause lots of logs to show up when an MCP server is not configured correctly. Release Notes: - N/A
Bennet Bo Fenner created
f4aeeda
script: Fix license symlink and path in `new-crate.sh` (#33620)
While creating a new crate I realised the License symlink and path are broken. The symlink was broken for LICENSE-GPL. Also the file created in the new crate was not using the expected file name as per the check-license script which was failing due to wrong filename in the new crate. I fixed that as well. Release Notes: - N/A Signed-off-by: Umesh Yadav <git@umesh.dev>
Umesh Yadav created
ca0bd53
agent: Fix an issue with messages containing trailing whitespace (#33643)
Seeing this come up in our server logs when sending requests to Anthropic: `final assistant content cannot end with trailing whitespace`. Release Notes: - agent: Fixed an issue where Anthropic requests would sometimes fail because of malformed assistant messages
Bennet Bo Fenner created
ae62371
Further improve color inlay hints in multi buffers (#33642)
Follow-up of https://github.com/zed-industries/zed/pull/33605 Release Notes: - N/A
Kirill Bulatov created
ac3328a
agent: Fix issue where web search could return 401 (#33639)
Closes #33524 Release Notes: - agent: Fix an issue where performing a web search request would sometimes fail
Bennet Bo Fenner created
d63909c
agent: Use standardized MCP configuration format in settings (#33539)
Changes our MCP settings from:
```json
{
"context_servers": {
"some-mcp-server": {
"source": "custom",
"command": {
"path": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest",
"--read-only",
"--project-ref=<project-ref>",
],
"env": {
"SUPABASE_ACCESS_TOKEN": "<personal-access-token>",
},
},
},
},
}
```
to:
```json
{
"context_servers": {
"some-mcp-server": {
"source": "custom",
"command": "npx",
"args": [
"-y",
"@supabase/mcp-server-supabase@latest",
"--read-only",
"--project-ref=<project-ref>",
],
"env": {
"SUPABASE_ACCESS_TOKEN": "<personal-access-token>",
},
},
},
}
```
Which seems to be somewhat of a standard now (VSCode, Cursor, Windsurf,
...)
Release Notes:
- agent: Use standardised format for configuring MCP Servers
Bennet Bo Fenner created
c3d0230
docs: Adjust heading sizes (#33628)
Just fine-tuning some heading sizes that were off, particularly h4s and h5s. Release Notes: - N/A
Danilo Leal created
bc5927d
debugger: Fix spec violation with threads request being issued before debug session is initialized (#33627)
Follow-up to #32852. This time we'll check if the debug session is initialized before querying threads. Release Notes: - Fix Zed's debugger issuing threads request before it is allowed to do so per DAP specification.
Piotr Osiewicz created
d2cf995
debugger: Tweak layout of debug landing page in vertical dock position (#33625)
Release Notes: - Reorganized layout of a debug panel without any sessions for a vertical dock position. - Moved parent directories of source breakpoints into a tooltip.
Piotr Osiewicz created
86161aa
Use refs to deduplicate settings JSON schema (~1.7mb to ~0.26mb) (#33618)
Release Notes: - N/A
Michael Sloan created
a602b4b
Improve R documentation (#33594)
Release Notes: - N/A
Peter Tripp created
047d515
Rework color indicators visual representation (#33605)
Use a div-based rendering code instead of using a text Closes https://github.com/zed-industries/zed/discussions/33507 Before: <img width="410" alt="before_dark" src="https://github.com/user-attachments/assets/66ad63ae-7836-4dc7-8176-a2ff5a38bcd4" /> After: <img width="407" alt="after_dark" src="https://github.com/user-attachments/assets/0b627da8-461b-4f19-b236-4a69bf5952a0" /> Before: <img width="409" alt="before_light" src="https://github.com/user-attachments/assets/ebcfabec-fcda-4b63-aee6-c702888f0db4" /> After: <img width="410" alt="after_light" src="https://github.com/user-attachments/assets/c0da42a1-d6b3-4e08-a56c-9966c07e442d" /> The border is not that contrast as in VSCode examples in the issue, but I'm supposed to use the right thing in https://github.com/zed-industries/zed/blob/1e11de48eeba01dc12761ec1274f8b0963de5514/crates/editor/src/display_map/inlay_map.rs#L357 based on https://github.com/zed-industries/zed/blob/41583fb066629d1e54d600e930be068a68984c5c/crates/theme/src/styles/colors.rs#L16-L17 Another oddity is that the border starts to shrink on `cmd-=` (`zed::IncreaseBufferFontSize`): <img width="1244" alt="image" src="https://github.com/user-attachments/assets/f424edc0-ca0c-4b02-96d4-6da7bf70449a" /> but that needs a different part of code to be adjusted hence skipped. Tailwind CSS example: <img width="1108" alt="image" src="https://github.com/user-attachments/assets/10ada4dc-ea8c-46d3-b285-d895bbd6a619" /> Release Notes: - Reworked color indicators visual representation
Kirill Bulatov created
e5bcd72
debugger: Add UI for tweaking breakpoint properties directly from breakpoint list (#33097)
Release Notes: - debugger: Breakpoint properties (log/hit condition/condition) can now be set directly from breakpoint list.
Piotr Osiewicz created
41583fb
Fix document colors issues with other inlays and multi buffers (#33598)
Closes https://github.com/zed-industries/zed/issues/33575 * Fixes inlay colors spoiled after document color displayed * Optimizes the query pattern for large multi buffers Release Notes: - Fixed document colors issues with other inlays and multi buffers
Kirill Bulatov created
521a223
Add `editor::Rewrap` binding to Emacs keymaps (#33588)
`M-q` is `fill-paragraph` which is like `editor::Rewrap`. Release Notes: - emacs: Bound `alt-q` to `editor::Rewrap` (like `M-q` or `M-x fill-paragraph`)
Cole Miller created
c8c6468
vim: Non-interactive shell (#33568)
Closes #33144 Release Notes: - vim: Run r! in a non-interactive shell
Conrad Irwin created
3f4098e
open_ai: Make OpenAI error message generic (#33383)
Context: In this PR: https://github.com/zed-industries/zed/pull/33362,
we started to use underlying open_ai crate for making api calls for
vercel as well. Now whenever we get the error we get something like the
below. Where on part of the error mentions OpenAI but the rest of the
error returns the actual error from provider. This PR tries to make the
error generic for now so that people don't get confused seeing OpenAI in
their v0 integration.
```
Error interacting with language model
Failed to connect to OpenAI API: 403 Forbidden {"success":false,"error":"Premium or Team plan required to access the v0 API: https://v0.dev/chat/settings/billing"}
```
Release Notes:
- N/A
Umesh Yadav created
1d684c8
Add shadow back for blurred/transparent window on macOS (#27403)
Closes #15383 Closes #10993 `NSVisualEffectView` is an official API for implementing blur effects and, by traversing the layers, we **can remove the background color** that comes with the view. This avoids using private APIs and aligns better with macOS’s native design. Currently, `GPUIView` serves as the content view of the window. To add the blurred view, `GPUIView` is downgraded to a subview of the content view, placed at the same level as the blurred view. Release Notes: - Fixed the missing shadow for blurred-background windows on macOS. --------- Co-authored-by: Peter Tripp <peter@zed.dev>
alphaArgon and Peter Tripp created
97c5c5a
vim: Respect count for paragraphs (#33489)
Closes #32462 Release Notes: - vim: Paragraph objects now support counts (`d2ap`, `v2ap`, etc.) --------- Co-authored-by: Rift <no@e.mail> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Rift , Rift , and Conrad Irwin created
ba4fc1b
vim: Add debug panel ex command (#33560)
Added :Debug to open debug panel, also added [:display](https://neovim.io/doc/user/change.html#%3Adisplay), alias to :reg Release Notes: - N/A
5brian created
bbf16bd
editor: Improve rewrap to respect indent and prefix boundaries (#33566)
1. Fixes bug where this would not rewrap:
```rs
// This is the first long comment block to be wrapped.
fn my_func(a: u32);
// This is the second long comment block to be wrapped.
```
2. Comment prefix boundaries (Notice now they don't merge between
different comment prefix):
Initial text:
```rs
// A regular long long comment to be wrapped.
// A second regular long comment to be wrapped.
/// A documentation long comment to be wrapped.
```
Upon rewrap:
```rs
// A regular long long comment to be
// wrapped. A second regular long
// comment to be wrapped.
/// A documentation long comment to be
/// wrapped.
```
3. Indent boundaries (Notice now they don't merge between different
indentation):
Initial text:
```rs
fn foo() {
// This is a long comment at the base indent.
// This is a long comment at the base indent.
// This is a long comment at the next indent.
// This is a long comment at the next indent.
// This is a long comment at the base indent.
}
```
Upon rewrap:
```rs
fn foo() {
// This is a long comment at the base
// indent. This is a long comment at the
// base indent.
// This is a long comment at the
// next indent. This is a long
// comment at the next indent.
// This is a long comment at the base
// indent.
}
```
Release Notes:
- Fixed an issue where rewrap would not work with selection when two
comment blocks are separated with line of code.
- Improved rewrap to respect changes in indentation or comment prefix
(e.g. `//` vs `///`) as boundaries so that it doesn't merge them into
one mangled text.
Smit Barmase created
c56b890
Prevent branch name overflow in git panel selection (#33529)
Closes #33527 Release Notes: - Fixed long branch names overflowing to multiple lines in git panel branch selector --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
ddoemonn and Danilo Leal created
695118d
agent: Show provider icon in model selectors (#30595)
I often switch between models, and I believe many people do. Currently, it is difficult to determine which provider offers the selected model because the same models are available from different providers. I propose a simple change to the selector so that users can distinguish between providers from the model they have chosen. As a side note, I would actually prefer to have a text label with the provider’s name next to the model name in the selector. However, I understand that this is too opinionated and takes up too much space. | Before | After | | ------ | ------ | |  |  | |  |  | |  |  | Release Notes: - The model selector has been improved with a provider icon, making it easier to distinguish between providers. --------- Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Artem Loenko , Danilo Leal , and Danilo Leal created
a675ca7
Remove `into SelectionEffects` from .change_selections (#33554)
In #32656 I generalized the argument to change selections to allow controling both the scroll and the nav history (and the completion trigger). To avoid conflicting with ongoing debugger cherry-picks I left the argument as an `impl Into<>`, but I think it's clearer to make callers specify what they want here. I converted a lot of `None` arguments to `SelectionEffects::no_scroll()` to be exactly compatible; but I think many people used none as an "i don't care" value in which case Default::default() might be more appropraite Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
6e762d9
Revert "Remove `into SelectionEffects` from .change_selections"
This reverts commit 28380d714d6dd32f5d7e242d690483714fa3f969.
Conrad Irwin created
28380d7
Remove `into SelectionEffects` from .change_selections
In #32656 I generalized the argument to change selections to allow controling both the scroll and the nav history (and the completion trigger). To avoid conflicting with ongoing debugger cherry-picks I left the argument as an `impl Into<>`, but I think it's clearer to make callers specify what they want here. I converted a lot of `None` arguments to `SelectionEffects::no_scroll()` to be exactly compatible; but I think many people used none as an "i don't care" value in which case Default::default() might be more appropraite
Conrad Irwin created
f338c46
Fix line indices when using a selection in the context (#33549)
Closes #33152. The label for a file selection context had an off-by-one error on line indices. This PR adjusts that. Before: <img width="1072" alt="Screenshot 2025-06-27 at 20 55 28" src="https://github.com/user-attachments/assets/da0be503-056b-442b-9a79-38cf504d8a44" /> After: <img width="1090" alt="Screenshot 2025-06-27 at 20 49 35" src="https://github.com/user-attachments/assets/f98df57a-8f07-4ea5-a06b-a4b6fb8c2e4e" /> Release Notes: - Fixed a off-by-one error on the line indices when using a selection as context for the agent,
Alejandro Fernández Gómez created
5fbb7b0
copilot: Only set Copilot-Vision-Request header for vision requests (#33552)
Closes #31951 The fix is copied and translated from copilot chat actual implementation code: https://github.com/microsoft/vscode-copilot-chat/blob/ad7cbcae9a964e8efb869bf1426999e56ea63cf0/src/platform/openai/node/fetch.ts#L493C1-L495C3 Release Notes: - Fix copilot failing due to missing `Copilot-Vision-Request` from request.
Umesh Yadav created
f12b0dd
Touch up extension DAP schemas fix (#33548)
Updates #33546 Release Notes: - N/A Co-authored-by: Piotr <piotr@zed.dev>
Cole Miller and Piotr created
14bb10d
Don't panic on vintage files (#33543)
Release Notes: - remoting: Fix a crash on the remote side when encountering files from before 1970.
Conrad Irwin created
c9ce4ae
Fix debug adapters from extensions not being picked up (#33546)
Copy the debug adapter schemas so that they're available to the extension host, like we do for other extension assets. Release Notes: - N/A
Cole Miller created
01dfb6f
Respect server capabilities on queries (#33538)
Closes https://github.com/zed-industries/zed/issues/33522 Turns out a bunch of Zed requests were not checking their capabilities correctly, due to odd copy-paste and due to default that assumed that the capabilities are met. Adjust the code, which includes the document colors, add the test on the colors case. Release Notes: - Fixed excessive document colors requests for unrelated files
Kirill Bulatov created
f9987a1
vim: Grep in visual line (#33414)
From https://github.com/zed-industries/zed/pull/10831#issuecomment-2078523272 > I agree with not prefilling the search bar with a multiline query. Not sure if it's a bug that a one-line visual line selection does not get pre filled, this PR corrects the query to use the visual line selection instead of the 'normal' selection Release Notes: - N/A
5brian created
7432e94
Add `element_selection_background` highlight to theme (#32388)
Closes #32354 The issue is that we render selections over the text in the agent panel, but under the text in editor, so themes that have no alpha for the selection background color (defaults to 0xff) will just occlude the selected region. Making the selection render under the text in markdown would be a significant (and complicated) refactor, as selections can cross element boundaries (i.e. spanning code block and a header after the code block). The solution is to add a new highlight to themes `element_selection_background` that defaults to the local players selection background with an alpha of 0.25 (roughly equal to 0x3D which is the alpha we use for selection backgrounds in default themes) if the alpha of the local players selection is 1.0. The idea here is to give theme authors more control over how the selections look outside of editor, as in the agent panel specifically, the background color is different, so while an alpha of 0.25 looks acceptable, a different color would likely be better. CC: @iamnbutler. Would appreciate your thoughts on this. > Note: Before and after using Everforest theme | Before | After | |-------| -----| | <img width="618" alt="Screenshot 2025-06-09 at 5 23 10 PM" src="https://github.com/user-attachments/assets/41c7aa02-5b3f-45c6-981c-646ab9e2a1f3" /> | <img width="618" alt="Screenshot 2025-06-09 at 5 25 03 PM" src="https://github.com/user-attachments/assets/dfb13ffc-1559-4f01-98f1-a7aea68079b7" /> | Clearly, the selection in the after doesn't look _that_ great, but it is better than the before, and this PR makes the color of the selection configurable by the theme so that this theme author could make it a lighter color for better contrast. Release Notes: - agent panel: Fixed an issue with some themes where selections inside the agent panel would occlude the selected text completely Co-authored-by: Antonio <me@as-cii.com>
Ben Kunkle and Antonio created
157199b
Replace newlines in search bar (#33504)
Release Notes: - search: Pasted newlines are now rendered as "\n" (with an underline), instead of line-wrapping. This should make it much clearer what you're searching for. <img width="675" alt="Screenshot 2025-06-27 at 00 34 52" src="https://github.com/user-attachments/assets/67275bc6-bec1-463f-b351-6b9ed0a6df81" />
Conrad Irwin created
d74f3f4
Fix crash in git checkout (#33499)
Closes #33438 Release Notes: - git: Use git cli to perform checkouts (to avoid a crash seen in libgit2)
Conrad Irwin created
9e2023b
editor: Fix editor tests from changing on format on save (#33532)
Use placeholder to prevent format-on-save from removing whitespace in editor tests, which leads to unnecessary git diff and failing tests. cc: https://github.com/zed-industries/zed/pull/32340 Release Notes: - N/A
Smit Barmase created
3ab4ad6
language_models: Use `JsonSchemaSubset` for Gemini models in OpenRouter (#33477)
Closes #33466 Release Notes: - N/A
Umesh Yadav created
e3ce061
collab: Lookup avatars by GitHub ID instead of username (#33523)
Closes: https://github.com/zed-industries/zed/issues/19207 This will correctly show Avatars for recently renamed/deleted users and for enterprise users where the username avatar url triggers a redirect to an auth prompt. Also saves a request (302 redirect) per avatar. Tested locally and avatars loaded as expected. Release Notes: - N/A
Peter Tripp created
865dd4c
Rework LSP tool keyboard story (#33525)
https://github.com/user-attachments/assets/81da68fe-bbc5-4b23-8182-923c752a8bd2 * Removes all extra elements: headers, buttons, to simplify the menu navigation approach and save space. Implements the keyboard navigation and panel toggling. * Keeps the status icon and the server name, and their ordering approach (current buffer/other) in the menu. The status icon can still be hovered, but that is not yet possible to trigger from the keyboard: future ideas would be make a similar side display instead of hover, as Zeta menu does:  * Allows to start (if all are stopped) and stop (if some are not stopped) all servers at once now with the button at the bottom Release Notes: - N/A
Kirill Bulatov created
2178f66
agent_ui: Rename MaxModeTooltip to BurnModeTooltip (#33521)
Closes #ISSUE Release Notes: - N/A
Umesh Yadav created
338a739
Fix blend alpha colors with editor background in inline preview (#33513)
Closes #33505 ## Before <img width="434" alt="Screenshot 2025-06-27 at 12 22 57" src="https://github.com/user-attachments/assets/ac215a39-b3fe-4c9e-bd7d-0d7568d5fd1f" /> ## After <img width="441" alt="Screenshot 2025-06-27 at 12 22 47" src="https://github.com/user-attachments/assets/28218ed6-c1aa-4d3f-a268-def2fa9f0340" /> Release Notes: - Fixed inline color previews not correctly blending alpha/transparency values with the editor background
ddoemonn created
4c2415b
editor: Use `em_advance` everywhere for horizontal scroll position computations (#33514)
Closes #33472 This PR fixes some regressions that were introduced in https://github.com/zed-industries/zed/pull/32558, which updated the editor scrolling to use `em_advance` instead of `em_width` for the horizontal scroll position calculation. However, not all occurrences were updated, which caused issues with wrap guides and some small stuttering with horizontal autoscroll whilst typing/navigating with the keyboard. Release Notes: - Fixed an issue where horizontal autoscrolling would stutter and indent guides would drift when scrolling horizontally.
Finn Evers created
e6bc130
Add SVG preview (#32694)
Closes #10454 Implements SVG file preview capability similar to the existing markdown preview. - Adds `svg_preview` crate with preview view and live reloading upon file save. - Integrates SVG preview button in quick action bar. - File preview shortcuts (`ctrl/cmd+k v` and `ctrl/cmd+shift+v`) are extension-aware. Release Notes: - Added SVG file preview, accessible via the quick action bar button or keyboard shortcuts (`ctrl/cmd+k v` and `ctrl/cmd+shift+v`) when editing SVG files.
Ron Harel created
6c46e11
Cleanup remaining references to max mode (#33509)
Release Notes: - N/A
Ben Brandt created
fbb5628
Reset selection goal after helix motion (#33184)
Closes #33060 Motions like `NextWordStart` don't reset the selection goal in vim mode `helix_normal` unlike in `normal` which can lead to the cursor jumping back to the previous horizontal position after going up or down. Release Notes: - N/A
fantacell created
8c9116d
Fix panic in ctrl-g (#33474)
Release Notes: - vim: Fixed a crash with ctrl-g
Conrad Irwin created
20a3e61
vim: Better jump list support (#33495)
Closes #23527 Closes #30183 Closes some Discord chats Release Notes: - vim: Motions now push to the jump list using the same logic as vim (i.e. `G`/`g g`/`g d` always do, but `j`/`k` always don't). Most non-vim actions (including clicking with the mouse) continue to push to the jump list only when they move the cursor by 10 or more lines.
Conrad Irwin created
ba1c05a
keymap: Add ability to update user keymaps (#33487)
Closes #ISSUE The ability to update user keybindings in their keymap is required for #32436. This PR adds the ability to do so, reusing much of the existing infrastructure for updating settings JSON files. However, the existing JSON update functionality was intended to work only with objects, therefore, this PR simply wraps the object updating code with non-general keymap-specific array updating logic, that only works for top-level arrays and can only append or update entries in said top-level arrays. This limited API is reflected in the limited operations that the new `update_keymap` method on `KeymapFile` can take as arguments. Additionally, this PR pulls out the existing JSON updating code into its own module (where array updating code has been added) and adds a significant number of tests (hence the high line count in the diff) Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created