8cf5af1
Introduce `DiagnosticsTool` (#26670)
Click to expand commit body
Release Notes: - N/A
Antonio Scandurra created
8cf5af1
Introduce `DiagnosticsTool` (#26670)
Release Notes: - N/A
Antonio Scandurra created
247ee88
Fix typo in `default.json` (#26666)
minor typo fix Release Notes: - N/A
Albin Kocheril Chacko created
2e21775
gruvbox: `version_control_` -> `version_control.` (#26665)
Missed this in PR #26606 Before:  After:  Release Notes: - theme: Fixed an issue where version control colors weren't applying correctly. (again)
Nate Butler created
0a0c163
assistant2: Use icons for tool call status communication (#26617)
It was hard to catch the running & pending states, though. When running, it will appear as a spinning arrow circle icon. <img src="https://github.com/user-attachments/assets/dbf1bc0a-6fa3-41c6-bcd7-2226e89c87b4" width="500px" /> Release Notes: - N/A
Danilo Leal created
e80df25
Iterate on tools some more (#26663)
Release Notes: - N/A
Antonio Scandurra created
d9590f3
docs: Improve introduction to Edit Prediction (#26620)
As I was writing a blog post about Edit Prediction, I realized we didn't have a great section in the docs I could link to talking about configuring it. We weren't: 1) explicitly exposing the settings code to add Zed as the edit prediction provider, and 2) not showing an image of the title bar banner. Release Notes: - N/A
Danilo Leal created
4ecd1b5
Fix bad `cd` sometimes used by `BashTool` and set edit model temperature to 0 (#26656)
Release Notes: - N/A
Antonio Scandurra created
70c973f
Fix issues in `EditFilesTool`, `ListDirectoryTool` and `BashTool` (#26647)
Release Notes: - N/A
Antonio Scandurra created
e842b4e
macOS: Disable automatic window tabbing in fullscreen mode (#26600)
Fixes #26534 (this time for real) Release Notes: - Fixed issue where Zed would behave weirdly when opening new fullscreen windows by disabling window tabbing Apple docs: https://developer.apple.com/documentation/appkit/nswindow/allowsautomaticwindowtabbing
Stanislav Alekseev created
606aa7a
Edit tool debugging (#26637)
Adds an `debug: edit tool` action that opens a new view which will help us debug the edit tool internals. As the edit tool runs, the log displays: - Instructions provided by the main model - Response stream from the editor model - Parsed edit blocks - Tool output provided back to main model The log automatically records all edit tool interactions for staff, so if you notice something weird, you can debug it retroactively without having to open the debug tool first. We may want to limit the number of recorded requests later. I have a few more ideas for it, but this seems like a good starting point. https://github.com/user-attachments/assets/c61f5ce8-08b1-4500-accb-db2a480eb3ab Release Notes: - N/A
Agus Zubiaga created
0081b81
Fix a bug where the modal layer could not be dismissed by the mouse
Mikayla Maki created
21949bc
ci: Fix tests not-running on main (#26613)
Follow-up to #26551 Fix for tests being skipped on main. Also fetch less history: [example run](https://github.com/zed-industries/zed/actions/runs/13822318758/job/38670334893) Release Notes: - N/A
Peter Tripp created
ee7ed6d
Update Rust crate anyhow to v1.0.97 (#26576)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [anyhow](https://redirect.github.com/dtolnay/anyhow) | workspace.dependencies | patch | `1.0.96` -> `1.0.97` | --- ### Release Notes <details> <summary>dtolnay/anyhow (anyhow)</summary> ### [`v1.0.97`](https://redirect.github.com/dtolnay/anyhow/releases/tag/1.0.97) [Compare Source](https://redirect.github.com/dtolnay/anyhow/compare/1.0.96...1.0.97) - Documentation improvements </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xOTQuMSIsInVwZGF0ZWRJblZlciI6IjM5LjE5NC4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Marshall Bowers <git@maxdeviant.com>
renovate[bot] , renovate[bot] , and Marshall Bowers created
07b67c1
assistant2: Add ability to enable/disable all tools from a context server (#26610)
This PR adds an option to enable/disable all tools from a specific context server: <img width="1297" alt="Screenshot 2025-03-12 at 5 55 45 PM" src="https://github.com/user-attachments/assets/af6c169e-0462-4a99-9bec-48fbf83dd08a" /> Release Notes: - N/A
Marshall Bowers created
f116b44
Rename the editor::ToggleGitBlame action to git::Blame (#26565)
Release Notes: - Git Beta: Renamed `editor::ToggleGitBlame` to `git::Blame` Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Cole Miller <m@cole-miller.net> Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Mikayla Maki , Conrad Irwin , Cole Miller , Nathan Sobo , and Max Brunsfeld created
43ab7fe
theme: Fix incorrect version control keys in One themes (#26606)
While the `.{variants}` of the theme keys _were_ incorrect, they are
actually more consistent with our current theme keys (thanks AI!) So we
will keep theme, and fix the incorrect usages in the one themes and
elsewhere.
Old description:
>
> This PR fixes an issue where we specified the incorrect theme keys
(thanks AI!) > in the theme schema. The following keys have been changed
to their correct > versions:
>
> | Before | After |
> |-------------------------------|-------------------------|
> | version_control.added | version_control_added |
> | version_control.deleted | version_control_deleted |
> | version_control.modified | version_control_modified|
> | version_control.renamed | version_control_renamed |
> | version_control.conflict | version_control_conflict|
> | version_control.ignored | version_control_ignored |
>
> Please use the after versions in your themes, as they are correct!
>
> We won't be adding secondary keys to fix this automatically as git
only > officially launched today.
>
> Due to this change, we've also updated the version control keys in the
One > themes to keep the default diff hunks looks from changing.
Closes #26572
Release Notes:
- theme: Fixed an issue where version control colors weren't applying
correctly.
Nate Butler created
6044773
Add path search glob tool (#26567)
<img width="638" alt="Screenshot 2025-03-12 at 1 33 31 PM" src="https://github.com/user-attachments/assets/f29b9dae-59eb-4d7a-bc26-aa4721cb829a" /> Release Notes: - N/A
Richard Feldman created
81af2c0
Fix overflow in create branch label (#26591)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
ab199fd
ci: GitHub actions refactor (#26551)
Refactor GitHub actions CI workflow. - Single combined 'tests_pass' action so we only need one mandatory check for merge queue - Add new `job_spec` job which determines what needs to be run (+5secs) - Do not run full CI for docs only changes (~30secs vs 10+mins) - Only run `script/generate-licenses` if Cargo.lock changed (saves ~23secs on mac_test) - Move prettier /docs check to ci.yml and remove docs.yml - Run Windows tests on every PR commit - Added new Windows runners named to reflect their OS/capacity (windows-2025-64, windows-2025-32, windows-2025-16) Release Notes: - N/A
Peter Tripp created
e60e8f3
assistant_tool: Reduce locking in `ToolWorkingSet` (#26605)
This PR updates the `ToolWorkingSet` to reduce the amount of locking we need to do. A number of the methods have had corresponding versions moved to the `ToolWorkingSetState` so that we can take out the lock once and do a number of operations without needing to continually acquire and release the lock. Release Notes: - N/A
Marshall Bowers created
edeed7b
`workspace::Open`: Highlight fuzzy matches (#26320)
Partial: https://github.com/zed-industries/zed/issues/15398 Changes: Adds highlighting to the matches when using `"use_system_path_prompts": false` | before | after | |---|---| ||| Release Notes: - N/A
brian tan created
9be7934
Add Bash tool (#26597)
<img width="636" alt="Screenshot 2025-03-12 at 4 24 18 PM" src="https://github.com/user-attachments/assets/6f317031-f495-4a5a-8260-79a56b10d628" /> <img width="634" alt="Screenshot 2025-03-12 at 4 24 36 PM" src="https://github.com/user-attachments/assets/27283432-4f94-49f3-9d61-a0a9c737de40" /> Release Notes: - N/A
Richard Feldman created
009b902
Fix formatting in linux.md (#26598)
Merge queue did not require docs tests to pass: - https://github.com/zed-industries/zed/actions/runs/13820880465/job/38665664419 This will be fixed with: - https://github.com/zed-industries/zed/pull/26551 cc: @ConradIrwin Release Notes: - N/A
Peter Tripp created
8b17dc6
docs: Document linker issue & workarounds with GCC >= 14 (#26579)
Closes #24880 documents issues with aws-lc-rs and gcc >=14 on linux and provides a workaround until the issues are fixed in aws-lc-rs
Michael Kaplan created
de07b71
Fix message on push (#26588)
Instead of saying "Successfully pushed new branch" we say "Pushed x to y" Release Notes: - N/A
Conrad Irwin created
be8f3b3
Add delete-path tool (#26590)
Release Notes: - N/A
Richard Feldman created
3131b04
Return which files were touched in the edit tool (#26564)
<img width="631" alt="Screenshot 2025-03-12 at 12 56 43 PM" src="https://github.com/user-attachments/assets/9ab84a53-829a-4943-ae76-b1d97ee31f55" /> <img width="908" alt="Screenshot 2025-03-12 at 12 57 12 PM" src="https://github.com/user-attachments/assets/bd246231-6c92-4266-b61e-5293adfe2ba0" /> Release Notes: - N/A
Richard Feldman created
3ec323c
uiua: Extract to zed-extensions/uiua repository (#26587)
This PR extracts the Uiua extension to the [zed-extensions/uiua](https://github.com/zed-extensions/uiua) repository. Release Notes: - N/A
Marshall Bowers created
c8b782d
git: Hard wrap in editor (#26507)
This adds the ability for the editor to implement hard wrap (similar to "textwidth" in vim). If you are typing and your line extends beyond the limit, a newline is inserted before the most recent space on the line. If you are otherwise editing the line, pasting, etc. then you will need to manually rewrap. Release Notes: - git: Commit messages are now wrapped "as you type" to 72 characters.
Conrad Irwin created
7bca157
Git on main thread (#26573)
This moves spawning of the git subprocess to the main thread. We're not yet sure why, but when we spawn a process using GCD's background queues, sub-processes like git-credential-manager fail to open windows. This seems to be fixable either by using the main thread, or by using a standard background thread, but for now we use the main thread. Release Notes: - Git: Fix git-credential-manager --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Conrad Irwin , Max Brunsfeld , and Kirill Bulatov created
5268e74
Properly handle goto single file worktrees during terminal cmd-clicks (#26582)
Closes https://github.com/zed-industries/zed/issues/26431 Follow-up of https://github.com/zed-industries/zed/pull/26174 `path_with_position.path.strip_prefix(&worktree_root)` used in the PR is wrong for cases of single-file worktrees, where it will return empty paths that will result in incorrect project and FS entries accessed. Release Notes: - Fixed goto single file worktrees during terminal cmd-clicks
Kirill Bulatov created
91c2099
Support word-based completions (#26410)
Closes https://github.com/zed-industries/zed/issues/4957 https://github.com/user-attachments/assets/ff491378-376d-48ec-b552-6cc80f74200b Adds `"completions"` language settings section, to configure LSP and word completions per language. Word-based completions may be turned on never, always (returned along with the LSP ones), and as a fallback if no LSP completion items were returned. Future work: * words are matched with the same fuzzy matching code that the rest of the completions are This might worsen the completion menu's usability even more, and will require work on better completion sorting. * completion entries currently have no icons or other ways to indicate those are coming from LSP or from word search, or from something else * we may work with language scopes more intelligently, group words by them and distinguish during completions Release Notes: - Supported word-based completions --------- Co-authored-by: Max Brunsfeld <max@zed.dev>
Kirill Bulatov and Max Brunsfeld created
74c29f1
Fix unstage/stage in project diff not working when git panel isn't open (#26575)
Closes #ISSUE Release Notes: - Fix Bug where unstage/stage all in project diff wouldn't work while git panel was closed Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Anthony Eid and Conrad Irwin created
5858e61
purescript: Extract to zed-extensions/purescript repository (#26571)
This PR extracts the PureScript extension to the [zed-extensions/purescript](https://github.com/zed-extensions/purescript) repository. Release Notes: - N/A
Marshall Bowers created
21cf2e3
Fix pane magnification causing mouse to drag tabs unexpectedly (#26383)
Previously, if a user clicked a button and moved the cursor out before releasing, the click event was correctly prevented, but the pending mouse-down state remained. This caused unintended drags when the UI shifted due to magnification settings. Now, mouse-up clears the pending state: - If over the button → clear state and trigger click handlers. - If outside the button → clear state without triggering a click. This avoids accidental drags while preserving expected click behavior. Closes #24600 Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Martim Aires de Sousa and Ben Kunkle created
a3ca555
zig: Extract to zed-extensions/zig repository (#26569)
This PR extracts the Zig extension to the [zed-extensions/zig](https://github.com/zed-extensions/zig) repository. Release Notes: - N/A
Marshall Bowers created
acf9b22
extension: Add `ExtensionEvents` for listening to extension-related events (#26562)
This PR adds a new `ExtensionEvents` event bus that can be used to listen for extension-related events throughout the app. Today you need to have a handle to the `ExtensionStore` (which entails depending on `extension_host`) in order to listen for extension events. With this change subscribers only need to depend on `extension`, which has a leaner dependency graph. Release Notes: - N/A
Marshall Bowers created
ffcd023
Bump Zed to v0.179 (#26563)
Release Notes: -N/A
Joseph T. Lyons created
6259ad5
Add RegexSearchTool (#26555)
Release Notes: - N/A
Antonio Scandurra created
8d259a9
git_ui: Update Project Diff empty state design (#26554)
Title Release Notes: - N/A --------- Co-authored-by: Cole Miller <m@cole-miller.net>
Nate Butler and Cole Miller created
010c5a2
docs: Update the Git page (#26530)
So it reflects the new set of features supported starting from v0.177. Release Notes: - N/A
Danilo Leal created
45b126a
git: Add an onboarding and banner flow (#26518)
TODO: - [ ] Hide the reset onboarding action (only useful for development, uncomment: https://github.com/zed-industries/zed/pull/26518/files#diff-f0ce01d9a3df30f60c64b6f9906c54aa0191246a58dbf5297ee321575a180879R96) - [x] Get a designer to replace the modal background (@danilo-leal) Release Notes: - Added a small onboarding banner for the git launch --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com> Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Mikayla Maki , Danilo Leal , and Danilo Leal created
5f74297
Fix edit tool tests on windows (#26552)
Assertions on the parsed system prompt should use CRLF on Windows. I didn't see it before because I was testing on my Windows VM from a shared folder I cloned on macOS. Release Notes: - N/A
Agus Zubiaga created
349f573
Add ListDirectoryTool (#26549)
Release Notes: - N/A
Antonio Scandurra created
41eb586
Remove `list_worktrees` and use relative paths instead (#26546)
Release Notes: - N/A
Antonio Scandurra created
6bf6fca
macOS: Fix window turning black on fullscreen mode (#26547)
Closes #26534 Recently, we fixed a title bar transparency issue that only occurred on macOS 15.3 and later. PR: https://github.com/zed-industries/zed/pull/26403 However, this seems to have broken multi-window fullscreen behavior on earlier macOS versions. This PR adds versioning so that the title bar transparency fix only applies to macOS 15.3.0 and later. No release notes, as this bug only exists on main right now. Release Notes: - N/A Co-authored-by: MrSubidubi <dev@bahn.sh>
Smit Barmase and MrSubidubi created
6e89537
assistant2: Add an option to enable/disable all tools (#26544)
This PR adds an option to enable or disable all tools in the tool selector. <img width="1297" alt="Screenshot 2025-03-12 at 10 40 28 AM" src="https://github.com/user-attachments/assets/9125bdfb-5b54-461c-a065-2882a8585a67" /> Release Notes: - N/A
Marshall Bowers created
669c6a3
assistant edit tool: Do not include `\r` in old/new str (#26542)
#26538 fixed part of the issue, but it would keep trailing carriage returns in the old/new strings. The model is unlikely to produce those, but we might as well support them. Release Notes: - N/A
Agus Zubiaga created
910531b
Check if additional git provider is not the original git provider (#26533)
Release Notes: - N/A Yesterday I worked on https://github.com/zed-industries/zed/pull/26482 and noticed afterwards that we have duplicated hosting providers if the git remote host is "gitlab.com" and after the PR also for "github.com". This is not a big problem, since the original providers are registered first and therefore we first find a match with the original providers, but I think we should address this nevertheless. We initialize every hosting provider with the defaults here: https://github.com/zed-industries/zed/blob/b008b2863ee015a9dc6ecdcd6dedbc708983f8b3/crates/git_hosting_providers/src/git_hosting_providers.rs#L15-L24 After that, we also register additional hosting providers: https://github.com/zed-industries/zed/blob/b008b2863ee015a9dc6ecdcd6dedbc708983f8b3/crates/git_hosting_providers/src/git_hosting_providers.rs#L30-L43 If we do not check if the additional provider is not the original provider, we will register the same provider twice. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Nils Koch and Marshall Bowers created
690f26c
Disable clangd's inactiveRegions support (#26539)
Disables https://github.com/zed-industries/zed/pull/26146 until a better way to add diagnostics is found. Overall, the PR had made changes that are worth keeping instead of reverting, such as finally extracting out r-a's language server logic into an `_ext.rs` file. Release Notes: - N/A
Kirill Bulatov created