68793c0
Debug adapters log to console (#29957)
Click to expand commit body
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
68793c0
Debug adapters log to console (#29957)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
de55458
agent: Add date separators to Thread History (#29961)
Adds time-bucket separators to the thread history list: https://github.com/user-attachments/assets/c9ac3ec4-b632-4ea5-8234-382b48de2bd6 Note: I'm simulating that Today is next Thursday so that I can show the "This Week" bucket. Release Notes: - agent: Add date separators to Thread History
Agus Zubiaga created
4fdd14c
Remove another unwrap on regex compilation (#29984)
Follow up to #29979 Release Notes: - Fixed a (hypothetical) panic in terminal search
Conrad Irwin created
848c4f7
fix(vim): Store up to the 9th numbered register instead of 7th (#29986)
Release Notes: - Fixed an issue where we only automatically stored 7 numbered registers instead of 9
Murt created
06794f3
assistant: Do not create new context on load (#29480)
Closes https://github.com/zed-industries/zed/issues/27673 Closes https://github.com/zed-industries/zed/issues/29344 Closes #29863 This PR fixes an issue where Zed was showing no language and `4:1` as a line/column value on startup, as described in the linked issues. You can actually see in the first issue that the user also experiences the same issue as described in the second one, as his line/column value is noticably also `4:1`. https://github.com/user-attachments/assets/bb60e387-f4b8-4e05-80b3-4dadf1a01262 This issue arises because on assistant panel load, a new context is created and its editor focused. However, the editor is not visible despite having focus. The content for the editor for a new context is `\n\n\n` and the cursor is inserted directly after that - this is where the line:column position `4:1` comes from. For the assistant panel editor, the language is intentionally hidden, this is why the language is not shown on workspace load. The issue is only present for as long as the user does not focus and edit another editor, then that instance is focused and everything starts to work properly again. As this issue only arises with the old assistant panel, some staff members were unable to reproduce in the linked issues. Once you set `export ZED_DISABLE_STAFF=1` in your environment, you should also be able to reproduce this issue consistently. --- This PR fixes the issue by not creating a new context on assistant panel load. This should not cause any regressions; every other code path I checked creates a new context if no context is yet present. Additionally, this also seems somewhat more reasonable, as users which have the assistant panel disabled will never need a new context anyway, so no context should be created. In the following video, you can see this fixes the issue when the assistant panel was not open the last time Zed was opened. If the panel was open before Zed was closed, we will still properly focus the panel and then the `4:1` will show again, which in that case is correct. The assistant panel editor is focused and the missing language as well as the line number then match what the user sees, experiences and expects. https://github.com/user-attachments/assets/224a786b-52c7-4212-bccb-dff6d9db62c3 Release Notes: - Fixed an issue where Zed would show no language and an incorrect line/column value on startup. Co-authored-by: Peter Tripp <peter@zed.dev>
Finn Evers and Peter Tripp created
ef31252
Fix panic in update_selection_occurrence_highlights (#29979)
Closes #ISSUE Release Notes: - Fixed a (rare) panic when highlighting text in the editor
Conrad Irwin created
5640265
language: Fix larger syntax node when cursor is at end of word or line (#29978)
Closes #28699 Fixes two cases in the `editor::SelectLargerSyntaxNode` action: 1. When cursor is at the end of a word, it now selects that word first instead of selecting the whole line. 2. When cursor is at the end of a line, it now selects that line first instead of selecting the whole code block. Before and After: https://github.com/user-attachments/assets/233b891e-15f1-4f10-a51f-75693323c2bd Release Notes: - Fixed `editor::SelectLargerSyntaxNode` to properly select nodes when the cursor is positioned at the end of words or lines.
Smit Barmase created
9d97e08
title_bar: Add icon for project branch trigger button (#29494)
Added icon for branch switcher in title bar | `main` | This PR | | -------- | ------- | | <img width="196" alt="Screenshot 2025-04-27 at 1 02 47 PM" src="https://github.com/user-attachments/assets/5625f6c5-7b11-4f3d-bed8-6ea3b74d9416" /> | <img width="217" alt="Screenshot 2025-04-27 at 1 07 11 PM" src="https://github.com/user-attachments/assets/6c83daa6-fa71-44a8-8f6b-e33b2217b29e" /> | Release Notes: - Added icon for branch switcher in title bar --------- Signed-off-by: Shashank Verma <shashank.verma2002@gmail.com>
Shashank Verma created
6b37646
client: Implement Socks identification and authorization (#29591)
Closes #28792 supersedes #28854 - Adds support for Socks V4 Identification using a userid, and Authorization using a username and password on Socks V5. - Added tests for parsing various Socks proxy urls. - Added a test for making sure a misconfigured socks proxy url doesn't expose the user by connecting directly as a fallback. Release Notes: - Added support for identification and authorization when using a sock proxy
tidely created
da3a696
editor: Remove extra quotes from outline search term (#29829)
The outline panel includes quotes around search terms. The rendering makes it somewhat ambiguous whether these quotes are part of the search term and are unnecessary, especially given other rendering differentiation. This PR removes them. Release Notes: - N/A
Aaron Feickert created
6bacea2
editor: Do not insert scrollbar hitboxes when scrollbars are never to be shown (#29316)
This PR fixes an issue where scrollbar hitboxes were still inserted for editors despite scrollbars being programmatically disabled via the `show_scrollbars`field. This is basically the same fix as in #27467. The thought process here is that the motivation for `show_scrollbars` is not to just hide the scrollbars in the editor, but to fully disable scrollbars for the associated editor. However, this is currently not the case, as a functioning hitbox for each scrollbar is stil inserted. For example, the behavior with the old assistant panel can be seen below: https://github.com/user-attachments/assets/18af6338-dd28-4794-a6a6-5b9691b243f2 Whilst the scrollbar is not visible, there is still a scrollbar hitbox inserted which triggers hover events and is fully functioning. This PR fixes this by fully skipping the scrollbar layouting whenever `show_scrollbars` is set to false, preventing the hitboxes from being inserted. https://github.com/user-attachments/assets/b6bb6dc7-902f-4383-bf03-506d0a57ec77 Release Notes: - N/A
Finn Evers created
3b90d62
editor: Implement hover color for scrollbars (#28064)
This PR adds hover colors to the editor scrollbars: https://github.com/user-attachments/assets/6600810e-7e8e-4dee-9bef-b7be303b5fe0 The color used here is the existing `scrollbar_thumb_hover_background` color provided by themes. Looking forward to feedback 😄 Release Notes: - Added hover state to editor scrollbars.
Finn Evers created
55a0bb2
Add default tab_size for Elm (#29547)
This PR updates the default tab size to 4 spaces, aligning with the standard adopted by the Elm community and the official language formatter (elm-format). Reference: [elm-format tab size default](https://github.com/avh4/elm-format/blob/main/elm-format-lib/src/Box.hs#L249)
Ivan Banov created
210c338
Restore original file content when rejecting an overwritten file (#29974)
Release Notes: - Fixed a bug that would cause rejecting a hunk from the agent to delete the file if the agent had decided to rewrite that file from scratch.
Antonio Scandurra created
86cc5c2
Apply `autoscroll_on_clicks` when extending selection (#28235)
Closes https://github.com/zed-industries/zed/issues/22240 Release Notes: - Fixed `autoscroll_on_clicks` not being applied when expanding selection Co-authored-by: Kirill Bulatov <kirill@zed.dev>
neunato and Kirill Bulatov created
a0bfe4d
debugger: Fix debug scenario's defined in debug.json not using passed in build task (#29973)
There were two bugs that caused user-defined debug scenarios from being able to run a build task. 1. DebugRequest would be deserialized to `Attach` even when `process_id` wasn't defined in a user's configuration file. This has been fixed by adding our own deserializer that defaults to None if there are no fields present instead of `Attach`, and I added tests to prevent regressions. 2. Debug scenario resolve phase never got the active buffer when spawning a debug session from the new session modal. This has been worked around by passing in the worktree_id of a debug scenario in the scenario picker and the active worktree_id otherwise. Release Notes: - N/A
Anthony Eid created
52ea501
Fix multicursors not being added when clicking on line numbers (#28263)
Closes https://github.com/zed-industries/zed/issues/21372 Release Notes: - Fixed multicursors not being added when clicking on line numbers ----- I tracked this down to https://github.com/zed-industries/zed/blob/b6ee367ee0e62a111164dd6e09c534e7e48bad5a/crates/editor/src/element.rs#L591 being forwarded to `editor.select()` a few lines below https://github.com/zed-industries/zed/blob/b6ee367ee0e62a111164dd6e09c534e7e48bad5a/crates/editor/src/element.rs#L667-L675 resulting in `add == true` and `click_count == 3`, triggering this https://github.com/zed-industries/zed/blob/b6ee367ee0e62a111164dd6e09c534e7e48bad5a/crates/editor/src/editor.rs#L2750-L2752 ... and we end up removing the previous selection. This was added [in 2021](https://github.com/zed-industries/zed/commit/bfecdb7bc0e51ed1e37c8d0f61ceb27c5c6b5de9) under this reasoning: > This prevents selections added in earlier clicks from being rendered under the pending selection. which no longer seems to be an issue, so removing should be safe? --------- Co-authored-by: Peter Tripp <peter@zed.dev>
neunato and Peter Tripp created
a07ba3c
editor: Fix inconsistent SelectPrevious behavior (#27695)
When starting a selection from only carets, the action `editor::SelectPrevious` behaved in a manner inconsistent with `editor::SelectNext` as well as equivalent keybinds in editors such as VSCode, by selecting substrings of whole words matching the initially selected string on subsequent triggers. This fix brings the `select_previous` function in line with `select_next_internal`by calling `select_match_ranges` (previously an internal function of `select_next_internal`) in the same way it was previously used in the function that exhibited expected behavior. Furthermore, the relevant test was adapted to bring it in line with the equivalent test for the `editor::SelectNext` action Closes #24346 Release Notes: - Fixed inconsistent SelectPrevious behavior
Francisco Fernandes created
2eb10ab
openai: Don't append tool calls to prior assistant messages (#29969)
Closes https://github.com/zed-industries/zed/issues/29821 Release Notes: - Fixed an issue in the agent panel where OpenAI requests would fail if the assistant begins its response with a tool call.
Max Brunsfeld created
55fd835
assistant_slash_commands: Be more precise in content type matching (#29124)
While investigating https://github.com/zed-industries/zed/issues/28076, I found out often times the content type header of a website comes with more data, such as the `charset`. So instead of doing an equal comparison, I changed to a `starts_with`. You can see an example here: ```shell $ curl -sS -D - https://github.com/zed-industries/zed/blob/main/Cargo.toml -o /dev/null | head -n 10 HTTP/2 200 date: Sun, 20 Apr 2025 10:19:52 GMT content-type: text/html; charset=utf-8 vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame,Accept-Encoding, Accept, X-Requested-With etag: W/"92dabf048b34d04a1b1d94e29cae4aca" cache-control: max-age=0, private, must-revalidate strict-transport-security: max-age=31536000; includeSubdomains; preload x-frame-options: deny x-content-type-options: nosniff x-xss-protection: 0 ``` Release Notes: - Improved Content Type matching of `/fetch` commands in Assistant Co-authored-by: Peter Tripp <peter@zed.dev>
Eva Pace and Peter Tripp created
0b10eb7
Remove Tree-sitter AST logging from `SelectLargerSyntaxNode` (#29949)
Release Notes: - N/A
Michael Sloan created
3d737fd
gpui: Update argument name of the `from_corners` method (#29968)
Release Notes: - N/A
Jason Lee created
c5d8407
component: Component crate cleanup (#29967)
This PR further organizes and documents the component crate. It: - Simplifies the component registry - Gives access to `ComponentMetadata` sooner - Enables lookup by id in preview extension implementations (`ComponentId` -> `ComponentMetadata`) - Should slightly improve the performance of ComponentPreview It also brings component statuses to the Component trait:    Release Notes: - N/A
Nate Butler created
377909a
Fix toolbar spacing regressions (#29964)
Cleaning up as I introduced a few regressions in this PR: https://github.com/zed-industries/zed/pull/29866. Release Notes: - N/A
Danilo Leal created
bdd911f
Update `assistant` to `agent` in settings and keymaps (#29943)
Closes #ISSUE Release Notes: - Agent Beta: Renamed the top-level `assistant` settings key to `agent`. A migration for existing settings files is included. - Agent Beta: Moved the `assistant::ToggleFocus`, `assistant::ToggleModelSelector`, and `assistant::OpenRulesLibrary` actions to the `agent` namespace. Existing keymaps that mention these actions by their old names will continue to work. --------- Co-authored-by: Max <max@zed.dev>
Cole Miller and Max created
34e10e4
Honor the prompt field of inline assist action (#29960)
Closes https://github.com/zed-industries/zed/issues/29337 Release Notes: - Fixed a bug where the `prompt` field was ignored on custom key bindings for `InlineAssist` Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Max Brunsfeld and Michael Sloan created
275c808
Allow dragging files and tabs into the agent panel (#29959)
Release Notes: - Added the ability to drag files and tabs onto the new agent panel. --------- Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Max Brunsfeld and Michael Sloan created
b214c9e
Fix profile menu hover flickering due to documentation asides (#29958)
Fixes https://github.com/zed-industries/zed/issues/29909 🍐'd with @nathansobo Release Notes: - N/A --------- Co-authored-by: Nathan <nathan@zed.dev>
Mikayla Maki and Nathan created
2aa06d1
agent: Switch to new web search provider (#29951)
Release Notes: - N/A
Bennet Bo Fenner created
9568fa1
Add Zed Pro Trial Upsell (#29938)
This PR adds an upsell to try Zed Pro Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Nate Butler and Marshall Bowers created
b4653c1
language: Add fallback for enum member completion highlight (#27929)
i tried to use `variant` but it wasnt giving any color despite my theme definitely having a color for it, am i doing something wrong? i think `property` is an alright fallback before:  after:  Release Notes: - N/A
xdBronch created
4896e0b
Allow the agent panel font size to be customized (#29954)
You can set `agent_font_size` as a top-level settings key. You can also use `zed::IncreaseBufferFontSize` and `zed::DecreaseBufferFontSize` and `zed::ResetBufferFontSize` the agent panel is focused via the standard bindings to adjust the agent font size. In the future, it might make sense to rename these actions to be more general since "buffer" is now a bit of a misnomer. 🍐'd with @mikayla-maki Release Notes: - N/A --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Nathan Sobo and Mikayla Maki created
0bf682a
docs: Fix a broken link to the PyRight Settings section (#29283)
This PR fixes a broken link to the PyRight Settings section. This is a follow-up to 5f390f1bf80bd534a5c93d25613494df9ca20b23. Release Notes: - N/A
Noritada Kobayashi created
3d0c4d7
Use the same context store for all inline assists in a project (#29953)
Release Notes: - Made context attachments in inline assist prompts persist across inline assist invocations. Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Max Brunsfeld and Michael Sloan created
b6c7df8
inline_completion_button: Show the initial usage data from the server (#29952)
This PR updates the usage indicator for edit predictions to show the initial usage data returned from the server. Release Notes: - N/A
Marshall Bowers created
1aa92d9
debugger: Enable setting debug panel dock position to the side (#29914)
### Preview <img width="301" alt="Screenshot 2025-05-05 at 11 08 43 PM" src="https://github.com/user-attachments/assets/aa445117-1c1c-4d90-a3bb-049f8417eca4" /> Setups the ground work to write debug panel persistence tests and allows users to change the dock position of the debug panel. Release Notes: - N/A
Anthony Eid created
6e28400
gpui: Fix a bug with Japanese romaji typing in input example (#28507)
Steps to reproduce: * On macOS, run `input` example * type `aaa|bbb` place caret on the place marked with | * switch to `japanese romaji` * press `ko` * press left arrow <img width="412" alt="image" src="https://github.com/user-attachments/assets/d3c02e9b-98f9-420e-a3b7-681ba90829cd" /> You will get `aaa` duplicated with every arrow press. According to [reference implementation](https://developer.apple.com/library/archive/samplecode/TextInputView/Listings/FadingTextView_m.html#//apple_ref/doc/uid/DTS40008840-FadingTextView_m-DontLinkElementID_6) we need to unmark text when we get empty line in `setMarkedText `
Pavel created
78545a9
gpui: Fix typo in doc comment (#29950)
Fixes a typo in gpui docs Release Notes: - N/A
Lorenzo Lewis created
dd79c29
Allow attaching text threads as context (#29947)
Release Notes: - N/A --------- Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Max Brunsfeld and Michael Sloan created
7f868a2
Improve Rust macro highlighting (#28182)
Release Notes:
- Improved Rust macro highlighting
| Zed 0.180.2 | With this PR |
| --- | --- |
|

|

|
```rust
macro_rules! square {
($e:expr) => { $e * $e };
}
```
- `$var`: `variable`
- `expr`: `type`
chbk created
6497aa5
Show request in evaluate selection command (#29621)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
55b908a
Allow agent edits to be accepted/rejected before the end the turn (#29941)
Release Notes: - N/A
Nathan Sobo created
ff215b4
debugger: Run build in terminal (#29645)
Currently contains the pre-work of making sessions creatable without a definition, but still need to change the spawn in terminal to use the running session Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Conrad Irwin and Piotr Osiewicz created
c12e637
Terminal tool improvements (#29924)
WIP - On macOS/Linux, run the command in bash instead of the user's shell - Try to prevent the agent from running commands that expect interaction Release Notes: - Agent Beta: Switched to using `bash` (if available) instead of the user's shell when calling the terminal tool. - Agent Beta: Prevented the agent from hanging when trying to run interactive commands. --------- Co-authored-by: WeetHet <stas.ale66@gmail.com>
Cole Miller and WeetHet created
9cb5ffa
context_store: Refactor state management (#29910)
Because we instantiated `ContextServerManager` both in `agent` and `assistant-context-editor`, and these two entities track the running MCP servers separately, we were effectively running every MCP server twice. This PR moves the `ContextServerManager` into the project crate (now called `ContextServerStore`). The store can be accessed via a project instance. This ensures that we only instantiate one `ContextServerStore` per project. Also, this PR adds a bunch of tests to ensure that the `ContextServerStore` behaves correctly (Previously there were none). Closes #28714 Closes #29530 Release Notes: - N/A
Bennet Bo Fenner created
8199664
agent: Handle attempts to use hallucinated tools (#29946)
This change: 1. Catches attempts to use missing tools. If this happens, we now send Agent a message listing available tools, after which Agent can gracefully recover. Prior behavior: thread would stop in a broken state. Example of a hallucinated call and a message we send back:  2. Adds evals for hallucinated tool use and imagined edits 3. Adds ability to configure a profile name in evals. Release Notes: - N/A
Oleksiy Syvokon created
7dfbe0b
agent: Improve terminal tool card design (#29712)
To-dos: - [x] Expose the command to defend against cases where that's just super long - [x] Tackle the vertical scroll conflict with panel scroll - [x] Reduce default font-size Release Notes: - N/A --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com> Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: Agus Zubiaga <hi@aguz.me>
Danilo Leal , Ben Brandt , Mikayla Maki , and Agus Zubiaga created
e64f5ff
agent: Load usage eagerly (#29937)
Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Nate Butler and Marshall Bowers created
181cd62
collab: Pass down staff usage in `UpdatePlan` message (#29939)
This PR fixes an issue where we weren't correctly passing down usage information in the `UpdatePlan` message for Zed staff. Release Notes: - N/A
Marshall Bowers created
769ec59
ollama: Add tool call support (#29563)
The goal of this PR is to support tool calls using ollama. A lot of the serialization work was done in https://github.com/zed-industries/zed/pull/15803 however the abstraction over language models always disables tools. ## Changelog: - Use `serde_json::Value` inside `OllamaFunctionCall` just as it's used in `OllamaFunctionCall`. This fixes deserialization of ollama tool calls. - Added deserialization tests using json from official ollama api docs. - Fetch model capabilities during model enumeration from ollama provider - Added `supports_tools` setting to manually configure if a model supports tools ## TODO: - [x] Fix tool call serialization/deserialization - [x] Fetch model capabilities from ollama api - [x] Add tests for parsing model capabilities - [ ] Documentation for `supports_tools` field for ollama language model config - [ ] Convert between generic language model types - [x] Pass tools to ollama Release Notes: - N/A --------- Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Nathan Sobo <nathan@zed.dev>
tidely , Antonio Scandurra , and Nathan Sobo created