d340670
Ensure rejecting a hunk dismisses the diff (#27919)
Click to expand commit body
Release Notes: - N/A
Antonio Scandurra created
d340670
Ensure rejecting a hunk dismisses the diff (#27919)
Release Notes: - N/A
Antonio Scandurra created
ad42a8a
agent: Adjust permission card design (#27911)
<img src="https://github.com/user-attachments/assets/76ae380c-6d5b-4ed6-9b47-9a4c44b00042" width="500" /> Release Notes: - N/A
Danilo Leal created
2846c55
agent: Account for tool use messages without any corresponding text (#27917)
This PR makes it so if we receive a tool use from the model without any corresponding text, we'll insert some placeholder text to keep the conversation in a well-structured format. This aims to fix an error that Antonio was seeing:  Release Notes: - N/A
Marshall Bowers created
5dcd0d3
language_models: Denote Copilot Chat as not supporting tools (#27909)
This PR updates the Copilot Chat language model to indicate it does not yet support tool use in Zed. Release Notes: - N/A
Marshall Bowers created
a70daa4
agent: Update tool names in default profiles to reflect snake_cased rename (#27907)
This PR updates the tool names in the default profiles, as they were not updated after the tool names were changed to snake_case in #27903. Release Notes: - N/A
Marshall Bowers created
b158ee6
Fix Gemini function calling (#27905)
This seems to improve the performance of `gemini-2.5-pro-exp-03-25`
significantly.
We know define a single `Tool` that has multiple `FunctionDeclaration`s,
instead of defining multiple `Tool`s with a single
`FunctionDeclaration`.
Oddly enough the `flash` models seemed to work perfectly fine with the
multiple `Tool { ... }` definitions
Release Notes:
- N/A
Bennet Bo Fenner created
9b7b4a9
assistant2: Use snake_case for tool names (#27903)
The [Gemini docs](https://ai.google.dev/gemini-api/docs/function-calling?example=weather#function_declarations) state that function names should be in `snake_case` or `camelCase`. Release Notes: - N/A
Bennet Bo Fenner created
c1d6dfd
Update selection when keeping/rejecting hunks (#27902)
Release Notes: - N/A
Antonio Scandurra created
57d7bc2
vim: Add `g?` convert to `Rot13`/`Rot47` (#27824)
Release Notes: - Added `g?` convert to `Rot13`/`Rot47` --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
0x2CA and Conrad Irwin created
7bc0dd1
Don't unwrap on bad zstd data (#27891)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
dc83f1a
Rename `assistant2` to `agent` (#27887)
This PR renames the `assistant2` crate to `agent`. Release Notes: - N/A
Marshall Bowers created
8e0f70f
Bump revision for `livekit-rust-sdks` (#27886)
This PR bumps the revision of the `livekit-rust-sdks` crate. I was running into issue where Cargo was stuck on "Updating git submodule `https://chromium.googlesource.com/libyuv/libyuv`". I resolved the issue by forking `libyuv` to https://github.com/zed-industries/libyuv and updating our `livekit-rust-sdks` fork to use it in https://github.com/zed-industries/livekit-rust-sdks/pull/4. Release Notes: - N/A
Marshall Bowers created
6262a46
Fix a bug that prevented repositories from being deduplicated (#27884)
Closes #ISSUE Release Notes: - Ensure that only one repository is shown in the git UI when two subdirectories of a repository root are open in Zed
Cole Miller created
8321e65
Bump tree-sitter-rust to 0.24 (#27875)
Release Notes: - Added correct syntax highlighting for use bounds and async closures in Rust.
Max Brunsfeld created
4110928
nix: Clean up build (#27881)
- bump our livekit version to include a fix for a crane bug (TODO: add link when an issue is filed on crane) - switch to a clang stdenv for both linux and macos - manually unify versions of our notify crate - remove old linker flags which were only needed for livekit - fix an issue where RUSTFLAGS shadowed the rustflags from cargo configs Release Notes: - N/A
Julia Ryan created
a1b53e9
git: Use doc comments for `ResetMode` variants (#27882)
This PR updates the `ResetMode` enum to use doc comments for its variants instead of line comments. Release Notes: - N/A
Marshall Bowers created
4a25251
Improve tracking for agent edits (#27857)
Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Antonio Scandurra , Nathan Sobo , and Max Brunsfeld created
d26c477
assistant2: Summarize threads in context and continue long ones (#27851)
We'll now prompt the user to start a new thread when the active one gets too long. <img width=500 src="https://github.com/user-attachments/assets/91445bc0-3e81-422f-aa4a-b8f0741f9d9a"></img> When they click "Start New Thread", will create a new one with the previous one added as context. <img width=500 src="https://github.com/user-attachments/assets/c3b4223f-5bdd-4ba4-956f-5a5880d5e2c3"></img> Instead of including the full thread text, we'll now add summarized versions of threads to the context, allowing you to continue the conversation even if it was near the token limit. - Thread summaries are cached and persisted. - A cached summary is invalidated if the thread is continued. - We start generating the thread summary as soon as it's selected from the picker. Most times, the summary will be ready by the time the user sends the message. - If the summary isn't ready by the time a message is sent, the user message will be displayed in the thread immediately, and a "Summarizing context..." indicator will appear. After the summaries are ready, we'll start generating the response and show the usual "Generating..." indicator. Release Notes: - N/A --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com> Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Agus Zubiaga , Danilo Leal , and Marshall Bowers created
16f625b
Add persistence to command palette history (#26948)
Closes #20391 ### Summary This adds a persistence layer to the command palette so that usages can persist after Zed is closed and re-opened. The current "usage" algorithm is unchanged, e.g.: - Sorts by number of usages descending (no recency preference) - Once a user's query is active, removes these suggestions in favor of fuzzy matching There are some additional considerations in order to keep the DB from growing uncontrollably (and to make long-term use ergonomic): - The "invocations" count handles max values (though at u16, it seems unlikely a user will deal with this) - If a command is un-invoked for more than a month, it stops being considered a recent usage, and its next update will update its usages back to 1 ### Future Considerations - Could make the "command expiry" configurable in settings, so the user can decide how long to hold onto recent usages - Could make a more sophisticated algorithm which balances recency and total invocations - e.g. if I've used COMMAND_A 100 times in the last month, but COMMAND_B 10 times today, should COMMAND_B actually be preferred? - Could do preferential fuzzy-matching against these matches once the user starts a query. Release Notes: - Added persistent history of command palette usages. --------- Co-authored-by: Peter Finn <mastion11@gmail.com> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
KyleBarton , Peter Finn , and Conrad Irwin created
9bc4697
Use new multibuffer excerpts in find-all-references and friends (#27876)
Release Notes: - N/A --------- Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Conrad Irwin and Kirill Bulatov created
e7290df
Finish removing git repository state and scanning logic from worktrees (#27568)
This PR completes the process of moving git repository state storage and scanning logic from the worktree crate to `project::git_store`. Release Notes: - N/A --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Conrad <conrad@zed.dev>
Cole Miller , Max Brunsfeld , and Conrad created
8f25251
assistant2: Rename `assistant2` actions to `agent` (#27877)
This PR renames the `assistant2` actions to `agent`. Note that any `assistant` actions have been left as-is for now so that there aren't any changes to users not in the feature flag. Release Notes: - N/A
Marshall Bowers created
1567967
nix: Separate debug output (#27871)
This makes it easier to iterate on the nix flake by adding a package which builds zed in debug mode rather than release Release Notes: - N/A
Julia Ryan created
2d05537
assistant2: Fix notification max width (#27872)
<img width=400 src="https://github.com/user-attachments/assets/4132e075-3f2a-4c65-8c06-c3428f3ad477"> <img width=400 src="https://github.com/user-attachments/assets/95908b32-a9b9-45c3-9db9-dcbeedffc5e7"> Release Notes: - N/A
Agus Zubiaga created
95b963c
vim: Add :Git (#27874)
Just adding to the existing https://zed.dev/docs/vim#ex-commands Captial G is not used by vim commands. Release Notes: - N/A
5brian created
5d1695e
assistant2: Add affordances for when the selected model does not support tools (#27870)
This PR adds some affordances for when the currently-selected model does not support tools. We disable the profile selector and put it into a "No Tools" state: <img width="1394" alt="Screenshot 2025-04-01 at 3 58 00 PM" src="https://github.com/user-attachments/assets/de6ecb0f-7657-4e16-9d5d-7bbfbc2b0a5c" /> We will also only attach tools to the request to the model if the model supports it. Release Notes: - N/A
Marshall Bowers created
192097f
assistant2: Ensure errors are also displayed in populated new thread view (#27869)
Follow-up to https://github.com/zed-industries/zed/pull/27812 This PR makes sure these errors cases also show up in the panel's empty state even when there is past data. | No ToS | Missing Provider | |--------|--------| |  |  | Release Notes: - N/A
Danilo Leal created
9205980
find-replace tool: Return diff in output (#27868)
This should help the model maintain an accurate picture of the file as it makes changes Release Notes: - N/A
Agus Zubiaga created
5880271
language_model: Add `supports_tools` method to `LanguageModel` (#27867)
This PR adds a new `supports_tools` method to the `LanguageModel` trait to indicate whether a given model supports tool use. Release Notes: - N/A
Marshall Bowers created
4ff07bf
Fix restore button (#27866)
ID collision! Release Notes: - N/A
Cole Miller created
b59967b
Don't allow open excerpts in commit view for now (#27862)
Follow-up to https://github.com/zed-industries/zed/pull/27636 Release Notes: - N/A
Max Brunsfeld created
133d3f0
assistant2: Update some text to use "agent" nomenclature (#27864)
This PR updates some text in the Agent Panel to use the "agent" nomenclature. Release Notes: - N/A
Marshall Bowers created
0934cb5
Don't prompt twice when trashing added files from git panel (#27863)
Closes #ISSUE Release Notes: - N/A
Cole Miller created
bda33ec
vim: Fix space forward bug with non-ASCII characters at EOL (#27860)
Closes https://github.com/zed-industries/zed/issues/27619 Fixes issue with right wrapped movement when a multi-byte character is at the end of the line. This is done by grabbing the last character on the current row and using that characters size to calculate the `max_column` variable, which is used to decide if the next right movement should move down the line or not. We did notice a bit of code that could be an issue that we wanted to call out. [Here](https://github.com/zed-industries/zed/blob/main/crates/editor/src/display_map.rs#L1070) inside of `clip_at_line_end` it also does a saturating_sub(1), assuming a single byte character. We didn't run into any issues due to this line but felt like a similar bug. We can apply a similar fix if wanted to pose the question first. Test case: Moving to next line when eol is a multi-byte character https://github.com/user-attachments/assets/1021ab1f-f49d-4986-8f9a-8cfc7e5c91bc Release Notes: - Fixed issue in vim forward spacing when a multi-byte character is at the eol --------- Co-authored-by: KyleBarton <kjbarton4@gmail.com>
Peter Finn and KyleBarton created
64ef3ab
ui: Introduce Banner component (#27853)
This PR adds a new, generic `Banner` component so that we can potentially replace the multiple, isolated implementations of it throughout some places of the app. <img src="https://github.com/user-attachments/assets/a268f745-1747-48e6-9461-2732eb7c0be4" width="750"/> Release Notes: - N/A
Danilo Leal created
ac5a2b2
python: Add recognition of worktree -> venv links (#26759)
Python envs created with virtualenvwrapper have the ability to link to the project directory (via the `.project` file in the virtualenv). `python-environment-tools` supports this and reports the project path. Additionally, some tools (e.g virtualfish) recognize special "environment activation" files in project directories (`.venv` by default) [1]. Use the above information to sort reported Python toolchains so that the correct env for a given worktree is at the top. [1] https://virtualfish.readthedocs.io/en/latest/plugins.html#auto-activation-auto-activation Release Notes: - python: Improved detection of virtualenvwrapper environments in work trees
Elvis Pranskevichus created
ada8b0f
Show commit author, not committer (#27856)
Release Notes: - Fixed a bug where the git panel displayed a commit's committer in place of its author.
Max Brunsfeld created
7687105
Preserve cursor position when resetting excerpts (#27850)
Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Antonio Scandurra , Nathan Sobo , and Conrad Irwin created
f859b32
assistant2: Use "Agent Panel" nomenclature for panel tooltip (#27858)
This PR updates the Agent Panel tooltip in the status to use "Agent Panel" instead of "Assistant Panel". Also changes the name we use in workspace serialization. Release Notes: - N/A
Marshall Bowers created
e63df58
assistant2: Rename key context to `AgentPanel` (#27859)
This PR renames the key context for the Agent Panel from "AssistantPanel2" to "AgentPanel". Release Notes: - N/A
Marshall Bowers created
0ad4656
assistant_settings: Show JSON schema for profile settings (#27855)
This PR makes it so we include the `default_profile` and `profiles` settings in the JSON schema. This provides completions when editing the `settings.json`. Release Notes: - N/A
Marshall Bowers created
992831c
workspace: Do not call set_active when deserializing a dock if that dock was not visible (#27852)
This unblocks work on new debugger UI, where we don't want the set_active function to be called unconditionally. Release Notes: - N/A --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Piotr Osiewicz and Anthony Eid created
7257053
Update docs for some settings (#27474)
Fix incorrect defaults or descriptions and add missing content. Release Notes: - N/A --------- Co-authored-by: Peter Tripp <peter@zed.dev>
Junseong Park and Peter Tripp created
feb1d37
assistant2: Allow clicking on `@mentions` (#27846)
https://github.com/user-attachments/assets/f6f7c115-5c40-48f9-a099-2b691993967b Release Notes: - N/A
Bennet Bo Fenner created
12037dc
assistant2: Allow profiles to enable all context servers (#27847)
This PR adds a new `enable_all_context_servers` field to agent profiles to allow them to enable all context servers without having to opt into them individually. The "Write" profile will now have all context servers enabled out of the box. Release Notes: - N/A
Marshall Bowers created
ab31eb5
edit prediction: Show display mode options just for Zed (#27844)
Eager and Subtle modes are only supported for Zed as an edit prediction provider and they were visible if your provider is Copilot, which is misleading. Release Notes: - N/A
Danilo Leal created
7d67bd4
assistant2: Remove check icon from successful tool calls (#27840)
Just to streamline the UI more. Release Notes: - N/A
Danilo Leal created
a24fc5a
Use pagination for GitHub issue response script (#27838)
Release Notes: - N/A
Joseph T. Lyons created
0079771
Use symmetric padding in signature popovers (#27734)
Release Notes: - Fixed padding issue with the signature popovers ------ Before: <img width="372" alt="Screenshot 2025-03-29 at 20 30 39" src="https://github.com/user-attachments/assets/36d1555d-bccb-4fca-b6ad-514cf11d024f" /> After: <img width="375" alt="Screenshot 2025-03-29 at 20 31 13" src="https://github.com/user-attachments/assets/6566d0e9-9dae-47dc-bfa0-526bf35f3cf0" />
Stanislav Alekseev created
d1db6d6
assistant2: Fix issue with included directories in context picker (#27833)
Release Notes: - N/A
Bennet Bo Fenner created