f2c27bd
v0.179.x preview
Joseph T. Lyons created
f2c27bd
v0.179.x preview
Joseph T. Lyons created
3942155
assistant2: Fix broken merge (#27081)
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)
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
Richard Feldman created
6303751
Record token usage telemetry (#26962)
<img width="1103" alt="Screenshot 2025-03-17 at 9 47 32 PM" src="https://github.com/user-attachments/assets/947cf33d-4464-4305-8ff0-3630529d2f81" /> Release Notes: - N/A
Richard Feldman created
3edf930
Revert "Start tracking edits performed by the agent" (#27077)
Reverts zed-industries/zed#27064
Antonio Scandurra created
584a70c
Refactor Git panel styling & status colors for consistency (#26951)
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)
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)
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)
Release Notes: - N/A --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com> Co-authored-by: Agus Zubiaga <hi@aguz.me>
Antonio Scandurra , Danilo Leal , and Agus Zubiaga created
23686aa
debugger: Do not use Disclosure for attach button (#27068)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
3874d31
assistant2: Adjust text and padding alignment between messages (#27067)
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)
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)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
c3b5046
editor: Do not use breakpoint color for run indicators (#27063)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
44fff08
util: Include path to asset in panic message from asset_str (#27059)
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)
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)
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)
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)
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)
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)
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)
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
Mikayla Maki created
7f2e3fb
Fix git stage race condition with delayed fs events (#27036)
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)
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)
- Collapse Launch and Attach into a single split button - Fix code actions indicator being colored red. Release Notes: - N/A
Piotr Osiewicz created
73ac3d9
nix: Fix LDFLAGS rpath (#26912)
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)
Release Notes: - N/A
Peter Tripp created
e9033a7
assistant2: Remove unneeded debug logging (#27030)
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)
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)
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.
Jason Lee created
89ae4ca
Fix debugger docs a bit (#27026)
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)
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)
Release Notes: - N/A
Joseph T. Lyons created
959a024
Omit `json-language-server` from the `scope_opt_in_language_servers` (#27023)
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
Kirill Bulatov created
ed510b5
Remove unused AssistantThreadFeedback event (#27021)
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)
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)
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)
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)
- 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
Cole Miller created
cc36cd9
extensions_ui: Add ability to filter extensions by category (#27005)
This PR adds the ability to filter the list of extensions by category: https://github.com/user-attachments/assets/ea7b518e-4769-4e2e-8bbe-e75f9f01edf9 Release Notes: - Added the ability to filter the list of extensions by category.
Marshall Bowers created
628a61d
docs: Specify the command for activating prompt library from the command palette (#27007)
Quickfix of the docs as I read through and get familiar with the assistant interface. `prompt-library: toggle` does not appear to be a live command in `cmd-shift-p` - instead I see `assistant: deploy prompt library`. This change to the docs reflects that. It also notes that this command can only be activated from within the assistant panel (the command is not accessible from a standard editor panel). Release Notes: - N/A
KyleBarton created
7f23875
Fold git merge messages into commit editor placeholder text (#26992)
This PR changes the git commit message editors to surface git's suggested merge message, if any, as placeholder text, as opposed to "real" buffer text as was previously the case. Release Notes: - Changed git commit message editors to use placeholder text for git's suggested merge messages
Cole Miller created
e7bba1c
Improvements to interactive hard wrap behavior (#26953)
Release Notes: - Fixed involuntary joining of lines when typing in the commit message editor - Fixed being unable to type whitespace after a comment character at the start of a line in the commit message editor
Cole Miller created
41a60ff
Debugger implementation (#13433)
### DISCLAIMER
> As of 6th March 2025, debugger is still in development. We plan to
merge it behind a staff-only feature flag for staff use only, followed
by non-public release and then finally a public one (akin to how Git
panel release was handled). This is done to ensure the best experience
when it gets released.
### END OF DISCLAIMER
**The current state of the debugger implementation:**
https://github.com/user-attachments/assets/c4deff07-80dd-4dc6-ad2e-0c252a478fe9
https://github.com/user-attachments/assets/e1ed2345-b750-4bb6-9c97-50961b76904f
----
All the todo's are in the following channel, so it's easier to work on
this together:
https://zed.dev/channel/zed-debugger-11370
If you are on Linux, you can use the following command to join the
channel:
```cli
zed https://zed.dev/channel/zed-debugger-11370
```
## Current Features
- Collab
- Breakpoints
- Sync when you (re)join a project
- Sync when you add/remove a breakpoint
- Sync active debug line
- Stack frames
- Click on stack frame
- View variables that belong to the stack frame
- Visit the source file
- Restart stack frame (if adapter supports this)
- Variables
- Loaded sources
- Modules
- Controls
- Continue
- Step back
- Stepping granularity (configurable)
- Step into
- Stepping granularity (configurable)
- Step over
- Stepping granularity (configurable)
- Step out
- Stepping granularity (configurable)
- Debug console
- Breakpoints
- Log breakpoints
- line breakpoints
- Persistent between zed sessions (configurable)
- Multi buffer support
- Toggle disable/enable all breakpoints
- Stack frames
- Click on stack frame
- View variables that belong to the stack frame
- Visit the source file
- Show collapsed stack frames
- Restart stack frame (if adapter supports this)
- Loaded sources
- View all used loaded sources if supported by adapter.
- Modules
- View all used modules (if adapter supports this)
- Variables
- Copy value
- Copy name
- Copy memory reference
- Set value (if adapter supports this)
- keyboard navigation
- Debug Console
- See logs
- View output that was sent from debug adapter
- Output grouping
- Evaluate code
- Updates the variable list
- Auto completion
- If not supported by adapter, we will show auto-completion for existing
variables
- Debug Terminal
- Run custom commands and change env values right inside your Zed
terminal
- Attach to process (if adapter supports this)
- Process picker
- Controls
- Continue
- Step back
- Stepping granularity (configurable)
- Step into
- Stepping granularity (configurable)
- Step over
- Stepping granularity (configurable)
- Step out
- Stepping granularity (configurable)
- Disconnect
- Restart
- Stop
- Warning when a debug session exited without hitting any breakpoint
- Debug view to see Adapter/RPC log messages
- Testing
- Fake debug adapter
- Fake requests & events
---
Release Notes:
- N/A
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Anthony <anthony@zed.dev>
Co-authored-by: Piotr Osiewicz <peterosiewicz@gmail.com>
Co-authored-by: Piotr <piotr@zed.dev>
Remco Smits , Piotr Osiewicz , Anthony Eid , Anthony , Piotr Osiewicz , and Piotr created
ed4e654
assistant_tools: Add `fetch` tool (#26999)
This PR adds a new `fetch` tool to the set of tools the Assistant has available. This tool accepts a URL and fetches the content as Markdown. <img width="1394" alt="Screenshot 2025-03-18 at 11 52 21 AM" src="https://github.com/user-attachments/assets/e5bcde14-a0dd-4835-9d42-8f45def68f4d" /> <img width="1394" alt="Screenshot 2025-03-18 at 11 52 37 AM" src="https://github.com/user-attachments/assets/3bcce4f5-f61b-40d7-8b30-2c673ce3c06a" /> Release Notes: - N/A
Marshall Bowers created
baaafdd
worktree: Fix tracking of git status scans and re-enable tests (#26926)
Closes #ISSUE Release Notes: - N/A
Cole Miller created
b70f21c
assistant_tools: Rename `RegexSearchTool` module to match the others (#27001)
This PR renames the `RegexSearchTool` module to `regex_search_tool.rs` to match the other tools. Release Notes: - N/A
Marshall Bowers created
5615be5
assistant edit tool: Revert fuzzy matching (#26996)
#26935 is leading to bad edits, so let's revert it for now. I'll bring back a version of this, but it'll likely just focus on indentation instead of making the whole search fuzzy. Release Notes: - N/A
Agus Zubiaga created
06e9f0e
Paginate regex and path search tools (#26997)
<img width="630" alt="Screenshot 2025-03-18 at 10 50 17 AM" src="https://github.com/user-attachments/assets/0aee5367-402a-405a-8676-f2f8af425b1e" /> Release Notes: - N/A
Richard Feldman created
41a2be7
assistant2: Keep the tool selector open when toggling tools (#26994)
This PR makes it so the tool selector will stay open when toggling tools instead of closing after each selection: https://github.com/user-attachments/assets/eb987785-cfb5-4b07-8d63-510fbd9d9bf1 This involved making a change to `ContextMenu` to allow it to rebuild its menu items after each confirmation in order for them to reflect their selected/unselected status. I intend to clean up the `ContextMenu` API a bit at a later point, but that is out of scope for this PR. Release Notes: - N/A
Marshall Bowers created