68262fe
theme: Add fallback colors for `version_control.<variant>` properties (#27104)
Click to expand commit body
This PR adds fallback colors for the `version_control.<variant>` theme
properties.
This fixes the colors when themes do not provide the properties.
Related to https://github.com/zed-industries/zed/pull/26951.
Release Notes:
- Added fallback colors for the `version_control.<variant>` theme
properties.
Marshall Bowers
created
2491426
Fix release notes API call with heredoc syntax (#27096)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
4487dc1
assistant2: Add a button to open the extensions view to install more context servers (#27095)
Click to expand commit body
This PR adds a new button in the Assistant configuration view to open
the extensions view pre-filtered to extensions that provide context
servers.
https://github.com/user-attachments/assets/3bc77507-c8b8-4bc6-8a17-ab5d8b3b7c8a
Release Notes:
- N/A
Marshall Bowers
created
e03edc2
debugger: Do not allow setting breakpoints in buffers without file storage (#27094)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
d722067
extensions_ui: Add ability to open the extensions view with a pre-selected filter (#27093)
Click to expand commit body
This PR adds the ability to open the extensions view via the `zed:
extensions` action with a pre-selected filter.
The "Install Themes" and "Install Icon Themes" buttons in their
respective selectors take advantage of this to set the filter when
opening the view:
https://github.com/user-attachments/assets/2e345c0f-418a-47b6-811e-cabae6c616d1
Release Notes:
- N/A
Marshall Bowers
created
d51cd15
Remove an unused field in Diagnostic from zed.proto (#27091)
9fe243e
gpui: Update doc comment for `App::new` (#27089)
Click to expand commit body
This PR updates the doc comment for the `App::new` method.
Release Notes:
- N/A
Marshall Bowers
created
74a39c7
Make FakeGitRepository behave more like a real git repository (#26961)
Click to expand commit body
This PR reworks the `FakeGitRepository` type that we use for testing git
interactions, to make it more realistic. In particular, the `status`
method now derives the Git status from the differences between HEAD, the
index, and the working copy. This way, if you modify a file in the
`FakeFs`, the Git repository's `status` method will reflect that
modification.
Release Notes:
- N/A
---------
Co-authored-by: Junkui Zhang <364772080@qq.com>
Max Brunsfeld
and
Junkui Zhang
created
5f39807
assistant2: Skip tool uses without a matching tool result (#27082)
Click to expand commit body
Anthropic API doesn't allow `tool_use` messages without a corresponding
`tool_result`, so we'll skip those when building a request. I'll
separately investigate why we are sending request before the tool result
as that might lead to separate issues, but that might take a while and
this is currently very frustrating.
Release Notes:
- N/A
Agus Zubiaga
created
410a942
assistant2: Add ability to start and stop context servers (#27080)
Click to expand commit body
This PR adds the ability to start and stop context servers from within
the configuration view in the Assistant panel:
https://github.com/user-attachments/assets/93c3a7cb-d799-4286-88ba-c13cc26e959a
Release Notes:
- N/A
This PR fixes a broken merge caused by
https://github.com/zed-industries/zed/pull/26987 landing after
https://github.com/zed-industries/zed/pull/26758.
Release Notes:
- N/A
Marshall Bowers
created
e8a4008
Allow tools to read unsaved buffers (#26987)
Click to expand commit body
If the tool asks to read a path, we don't need to verify whether that
path exists on disk; an unsaved buffer with that path is fine.
Release Notes:
- N/A
3edf930
Revert "Start tracking edits performed by the agent" (#27077)
Click to expand commit body
Reverts zed-industries/zed#27064
Antonio Scandurra
created
584a70c
Refactor Git panel styling & status colors for consistency (#26951)
Click to expand commit body
Closes #26847
Release Notes:
- Updated Git panel background to use panel_background instead of
ElevationIndex::Surface.bg(cx) for consistency with other panels.
- Removed redundant GitStatusColors struct from status.rs and refactored
to use existing theme colors.
- Adjusted Color enum mappings in color.rs to reference
version_control_* colors instead of status() for better alignment with
the theme system.
- Cleaned up unused or redundant code.
Jakub Čermák
created
2230f3b
editor: Preserve expand excerpt down button position (#27058)
Click to expand commit body
When you press the "Expand Excerpt Down" button, the editor will scroll
up by the same amount to keep the button in same place. This allows you
to expand the excerpt rapidly without moving your mouse.
Before:
https://github.com/user-attachments/assets/376350ac-6f21-4ce0-a383-b2c9ca4f45bb
After:
https://github.com/user-attachments/assets/4fba4173-5f01-4220-990a-65820ac40cf5
Release Notes:
- Improved "Expand Excerpt Down" so the button stays in place, allowing
rapid expansion without moving the mouse.
Smit Barmase
created
84a8d48
vim: Fix `space` not handling non-ascii characters (#27053)
Click to expand commit body
Closes #26806
Changes: Clips the new point with `Bias::Right` like in
`saturating_right`
Release Notes:
- vim: Fixed `space` not handling non-ascii characters
5brian
created
ac5dafc
Start tracking edits performed by the agent (#27064)
Antonio Scandurra
,
Danilo Leal
, and
Agus Zubiaga
created
23686aa
debugger: Do not use Disclosure for attach button (#27068)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
3874d31
assistant2: Adjust text and padding alignment between messages (#27067)
Click to expand commit body
Ensuring that text between the "you" messages align with text in the
assistant response. This also creates a nice subtle hierarchy effect
where the "you" message card is wider than the message, making it
slightly easier to tell them apart.
<img
src="https://github.com/user-attachments/assets/616c1776-ca51-454e-9d52-e480bf26c843"
width="600px" />
Release Notes:
- N/A
Danilo Leal
created
1d33bfd
assistant edit tool: Replace with flexible indentation (#27039)
Click to expand commit body
Sometimes the model produces SEARCH queries that don't match the
indentation of the source file exactly.
When we can't find an exact match, we'll now attempt to match the lines
while being more flexible about the leading whitespace as long as all
lines are consistently offset from the source, and extend the leading
whitespace in the REPLACE string accordingly.
Release Notes:
- N/A
Agus Zubiaga
created
9377ef9
feature_flags: Do not enable feature flags by default in dev builds (#27065)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
c3b5046
editor: Do not use breakpoint color for run indicators (#27063)
Click to expand commit body
Closes #ISSUE
Release Notes:
- N/A
Piotr Osiewicz
created
44fff08
util: Include path to asset in panic message from asset_str (#27059)
Click to expand commit body
Somebody on Discord ran into issues with running the debugger which goes
down to an unwrap in asset_str. Let's print a path that was accessed.
Release Notes:
- N/A
Piotr Osiewicz
created
d4daa0a
Show debug console evaluation response (#27050)
Click to expand commit body
We weren't incrementing the output token when getting responses from the
debug evaluation request which caused some output to not be displayed.
(Usually the evaluation response, but that could cascade into other
output events not showing)
Release Notes:
- N/A
Co-authored-by: Remco Smits <djsmits12@gmail.com>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Anthony Eid
,
Remco Smits
, and
Max Brunsfeld
created
81582cd
Don't render breakpoint indicators on top of expand arrows (#27048)
Click to expand commit body
Closes #ISSUE
cc @Anthony-Eid. One thing I noticed while doing this is that we do an
invalid cast here from DisplayPoint.row to MultiBufferRow. These are not
the same if you have soft-wrap enabled (or anything else in the display
map that's not in the editor).
Release Notes:
- N/A
Conrad Irwin
created
0f5a3af
Support built-in Zed prompts for all platforms (#26201)
Click to expand commit body
This pull request does two things:
1. Adds a setting to force Zed to use the built-in prompts, instead of
the system provided ones. I've personally found the system prompts on
macOS often fail to respond to keyboard input, are slow to render
initially, and don't match Zed's style.
2. Makes the previously Linux-only Zed provided prompts available to
everybody using the above setting.
Release Notes:
- Added support for a built-in prompting system, regardless of platform.
Use the new `use_system_prompts` setting to control whether to use the
system provided prompts or Zed's built-in system. Note that on Linux,
this setting has no effect, as Linux doesn't have a system prompting
mechanism.
Ryan Hawkins
created
382f9f6
language_tools: Fix buffer search keeping focusing when pressing enter in vim mode (#26266)
Click to expand commit body
Closes #25643
Release Notes:
- Fixed buffer search keep focus when pressing enter in vim mode
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
CharlesChen0823
and
Conrad Irwin
created
15d2420
`workspace::Open`: Fix trapped cursor/selection on update (#25402)
Click to expand commit body
Closes #ISSUE
Issue: Selection index does not reset when the matches update, which can
lead to the selection getting trapped when that index does not exist in
the next matches.
https://github.com/user-attachments/assets/d3fab23f-750c-47fb-bd3b-a0c42f214c83
This is in workspace::Open with "use_system_path_prompts": false
Release Notes:
- N/A
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
5brian
and
Conrad Irwin
created
026c727
workspace: Add function to save new file in directory nearest tab (#22563)
Click to expand commit body
Closes #15685
Release Notes:
- save new file in directory neasrest tab
---------
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
CharlesChen0823
and
Conrad Irwin
created
1aefa51
Move "async move" a few characters to the left in cx.spawn() (#26758)
Click to expand commit body
This is the core change:
https://github.com/zed-industries/zed/pull/26758/files#diff-044302c0d57147af17e68a0009fee3e8dcdfb4f32c27a915e70cfa80e987f765R1052
TODO:
- [x] Use AsyncFn instead of Fn() -> Future in GPUI spawn methods
- [x] Implement it in the whole app
- [x] Implement it in the debugger
- [x] Glance at the RPC crate, and see if those box future methods can
be switched over. Answer: It can't directly, as you can't make an
AsyncFn* into a trait object. There's ways around that, but they're all
more complex than just keeping the code as is.
- [ ] Fix platform specific code
Release Notes:
- N/A
This PR adds a failing test `test_staging_hunks_with_delayed_fs_event`
and makes it pass
Also skips a queued read for git diff states if another read was
requested (less work)
This still doesn't catch all race conditions, but the PR is getting long
so I'll yield this and start another branch
Release Notes:
- N/A
João Marcos
created
68a5728
assistant edit tool: Improve bad search output (#27012)
Click to expand commit body
When we failed to match a search string, we were reporting the replace
string as not found, this confuses the model and can make it go into a
doom loop. This PR fixes that improves the error output in general to
help it recover faster.
Release Notes:
- N/A
Agus Zubiaga
created
c042a02
debugger: First slight pass at UI (#27034)
Click to expand commit body
- Collapse Launch and Attach into a single split button
- Fix code actions indicator being colored red.
Release Notes:
- N/A
By default stdenv strips all unused rpaths, but we use a few libraries
that are `dlopen`'d so we need to stop it from removing those. The
[`dontPatchELF`
flag](https://ryantm.github.io/nixpkgs/stdenv/stdenv/#var-stdenv-dontPatchELF)
disables that and makes the nix build work on wayland again.
Fix #26905
Close #26864
Release Notes:
- N/A
Julia Ryan
created
2269f99
Add more shortcuts for delete/restore in Git Panel (#27004)
This PR removes the debug logging added in
https://github.com/zed-industries/zed/pull/23722, as we no longer need
it.
Release Notes:
- N/A
Marshall Bowers
created
a2ae6a1
assistant2: Add tool lists for each context server (#27029)
Click to expand commit body
This PR updates the list of context servers with the ability to view the
tools provided by the context server:
<img width="1394" alt="Screenshot 2025-03-18 at 5 53 05 PM"
src="https://github.com/user-attachments/assets/4ffe93dd-f9e9-44e7-877f-656ebf45a326"
/>
Release Notes:
- N/A
Marshall Bowers
created
985ac4e
gpui: Reduce `window.refresh` to improve cache hit of the cached views (#25009)
Click to expand commit body
Release Notes:
- Improved performance when using the scroll wheel and some other mouse
interactions.
Based on some cache details about GPUI `AnyView::cached` that I found in
the discussion of
https://github.com/zed-industries/zed/discussions/24260#discussioncomment-12135749,
and combined with the optimization points found in actual applications.
This change may have some scenarios that I have not considered, so I
just make a draft to put forward my ideas first for discussion.
From my analysis, `AnyView::cached` will always invalid by Div's mouse
events, because of it called `window.refresh`. I understand that (mouse
move event) this is because the interface changes related to hover and
mouse_move will be affected style, so `window.refresh` is required.
Since Div does not have the `entity_id` of View, it is impossible to
know which View should be refreshed, so the entire window can only be
refreshed.
With this change, we can reduce a lot of `render` method calls on
ScrollWheel or Mouse Event.
Tried adding a custom debugging tasks to discover two more required
properties missing from the docs.
Release Notes:
- N/A
Kirill Bulatov
created
1d4afe6
assistant2: Add context server list to configuration view (#27028)
Click to expand commit body
This PR adds a context server list to the configuration view in
Assistant2:
<img width="1394" alt="Screenshot 2025-03-18 at 5 26 23 PM"
src="https://github.com/user-attachments/assets/58bf3920-1e35-4cb8-a32a-5ae9f98ce387"
/>
Release Notes:
- N/A
Marshall Bowers
created
777c88b
Clean up community_release_actions file (#27027)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
959a024
Omit `json-language-server` from the `scope_opt_in_language_servers` (#27023)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/26574/files
After that PR, settings.json stopped giving completions when `"` was
typed as a key:
https://github.com/user-attachments/assets/5ff03863-024c-4c28-a7cd-8ef48a1695d8
This goes down to
https://github.com/zed-industries/zed/blob/fb12863999e601c4ffc9afbded036e4f1f064369/crates/language/src/language.rs#L1736-L1748
which was empty before the PR, hence leading to lower `true` branch.
Now, when typing `"`, there's no scope according to
https://github.com/zed-industries/zed/blob/fb12863999e601c4ffc9afbded036e4f1f064369/crates/project/src/lsp_store.rs#L4529-L4532
return result.
Removing `json-language-server` from `scope_opt_in_language_servers`
seems to preserve the `:` fix and restore the completions behavior.
Release Notes:
- N/A
It looks like:
- https://github.com/zed-industries/zed/pull/26780
accidentally added a new event type, `AssistantThreadFeedback`, using
the old event system, that it didn't end up actually using, as the code
actually relies on using the newer (preferred) `telemetry::event!()`.
Release Notes:
- N/A
Joseph T. Lyons
created
674c572
ci: Run stalebot checks multiple times to ensure completion (#27017)
Click to expand commit body
Stalebot has a maximum operations-per-run which is set at 1000. As a
result it may require multiple runs to successfully complete.
This morning it took [three
runs](https://github.com/zed-industries/zed/actions/runs/13921563707/attempts/1)
so set it to run three times two hours apart to avoid hitting github API
limits.
Release Notes:
- N/A
Peter Tripp
created
4a39fc2
gpui: Provide workaround for AMD Linux driver bug (#26890)
Click to expand commit body
There apparently is some amdgpu/radv bug that rendering with
multisample anti-aliasing (MSAA) results in a crash when the bounds
of a triangle list exceed 1024px, which in Zed happens with the default
buffer font size when you select a line with more than 144 characters.
This crash has been reported as #26143.
This commit introduces a workaround: you can set the
ZED_PATH_SAMPLE_COUNT=0
environment variable to disable MSAA and the error message we print
when a GPU crash is encountered with radv now suggests trying this
environment
variable as a workaround and links the respective issue.
Sidenote: MSAA was introduced in
f08b1d78ec1655a56b07c5efcd74d225d2a4b7d5
so you didn't run into this driver bug with versions < 0.173.8.
Release Notes:
- Added a workaround for an AMD Linux driver bug that causes Zed to
crash when selecting long lines.
Martin Fischer
created
48fe134
assistant edit tool: Create file when search/replace is empty (#27009)
Click to expand commit body
We used to fail when this happened, but we saw the model use it as a way
to create empty files, which makes sense.
Release Notes:
- N/A
Agus Zubiaga
created
22b8662
Fix syntax highlighting of git commit messages (#26988)
Click to expand commit body
- Load syntax colors into commit message editors
- Fix name mismatches that were preventing the git commit grammar and
language config from being matched up
Release Notes:
- Fixed git commit messages not being syntax-highlighted