de8f1c3
WIP
Antonio Scandurra created
de8f1c3
WIP
Antonio Scandurra created
9351e95
WIP
Antonio Scandurra created
dac0838
WIP
Antonio Scandurra created
38d5f36
WIP
Antonio Scandurra 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
2823771
Add design improvements to the LSP popover (#33485)
Not the ideal design just yet as that will probably require a different approach altogether, but am pushing here just some reasonably small UI adjustments that will make this feel slightly nicer! Release Notes: - N/A
Danilo Leal created
343f155
Update docs for Swift debugging (#33483)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Cole Miller created
2dece13
nix: Update to access new rust toolchain version (#33476)
Needed due to #33439 Release Notes: - N/A
Julia Ryan created
985dcf7
chore: Bump Rust version to 1.88 (#33439)
Goodies in this version: - if-let chains 🎉 - Better compiler perf for Zed (https://github.com/rust-lang/rust/pull/138522) For more, see: https://releases.rs/docs/1.88.0/ Release Notes: - N/A --------- Co-authored-by: Junkui Zhang <364772080@qq.com>
Piotr Osiewicz and Junkui Zhang created
b079871
Fix subtraction with overflow (#33471)
Release Notes: - N/A
Conrad Irwin created
4983b01
helix: Change word motions (#33408)
When starting on the newline character at the end of a line the helix word motions select that character, unlike in helix itself. This makes it easy to accidentaly join two lines together. Also, word motions that go backwards should stop at the start of a line. I added that. Release Notes: - helix: Fix edge-cases with word motions and newlines
fantacell created
35863c4
debugger: Fix treatment of node-terminal scenarios (#33432)
- Normalize `node-terminal` to `pwa-node` before sending to DAP - Split `command` into `program` and `args` - Run in external console Release Notes: - debugger: Fixed debugging JavaScript tasks that used `"type": "node-terminal"`.
Cole Miller created
a0bd25f
Feature gate the LSP button (#33463)
Follow-up of https://github.com/zed-industries/zed/pull/32490 The tool still looks like designed by professional developers, and still may change its UX based on the internal feedback. Release Notes: - N/A
Kirill Bulatov created
8a1e795
agent: Move `ActiveThread` and `MessageEditor` into `ActiveView` (#33462)
`ActiveThread` and `MessageEditor` only make sense when `active_view` is `Thread`, so we moved them in there. This will make it easier to work on new agent threads. Release Notes: - N/A --------- Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Agus Zubiaga , Antonio Scandurra , Conrad Irwin , and Smit Barmase created