8b51ebd
zed 0.180.4
Joseph T. Lyons created
8b51ebd
zed 0.180.4
Joseph T. Lyons created
c574895
Fix bad unicode calculations in do_completion (cherry-pick #28259) (#28285)
Cherry-picked Fix bad unicode calculations in do_completion (#28259) Co-authored-by: João Marcos <marcospb19@hotmail.com> Release Notes: - Fixed a panic with completions around non-ASCII code --------- Co-authored-by: João Marcos <marcospb19@hotmail.com> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: João Marcos <marcospb19@hotmail.com>
gcp-cherry-pick-bot[bot] , Conrad Irwin , and João Marcos created
41f744a
jsx-tag-auto-close: Remove potential source of bugs and panics (#28119)
Switch to using anchors for storing edited ranges rather than offsets as they have to be used with multiple buffer snapshots Release Notes: - N/A
Ben Kunkle created
06747f0
zed 0.180.3
Joseph T. Lyons created
7729e3a
title_bar: Ensure git onboarding banner dismissal is properly respected (cherry-pick #28147) (#28149)
Cherry-picked title_bar: Ensure git onboarding banner dismissal is properly respected (#28147) A user reported this issue [on Discord](https://discord.com/channels/869392257814519848/873292398204170290/1357879959422636185). The issue here only arises for users which recently installed Zed or had previously not dismissed the Git Onboarding component. It was introduced by https://github.com/zed-industries/zed/pull/27412, which made the banner component reusable. For every banner, there is a value stored in the KVP store when it was first dismissed. For the git onboarding banner, this was `zed_git_banner_dismissed_at` initially, but this key would have been changed by the linked PR. A change would have resulted in the banner being shown again for users who already dismissed the panel, so for the special case of `Git Onboarding`, a check was added which ensured this would not happen. However, this check was only added for reading from the key from the DB but not on writing the git onboarding dismissal it to the DB. Thus, if a user who had not previously dismissed the panel opened Zed, we would check for the old key to be present in the DB. Since that would not be the case, the banner would be shown. If the user dismissed the panel, it would be stored in the database with the new key. Thus, on a reopen of Zed, the banner would again be shown since for the old key there would still be no value present and users are unable to dismiss the panel. This PR fixes this behavior by moving the check into the method that generates the key. With this, users which were unaffected by the bug will still not see the panel again. Users who would install Zed with this change present will be able to properly dismiss the panel aswell. Users which were affected by the bug need to dismiss the banner one more time. That happens because I did not want to modify the dismissal check to check for two keys (the original one and the new one), as it would clutter the logic even more for this special case. If this would be preferred, feel free to let me know. Release Notes: - Fixed an issue where dismissing the git onboarding banner would not be persisted across sessions. Co-authored-by: Finn Evers <dev@bahn.sh>
gcp-cherry-pick-bot[bot] and Finn Evers created
0d096cc
Fix panic or bad hunks when expanding hunks w/ multiple ranges in 1 hunk (#28117)
Release Notes: - Fixed a crash that could happen when expanding diff hunks with multiple cursors in one hunk.
Max Brunsfeld created
3775496
v0.180.x stable
Joseph T. Lyons created
f21d34e
Bump to 0.180.2 for @osiewicz
Zed Bot created
b17df00
language server: Fix restarts sometimes not working for buffers open in go-to-definition view (cherry-pick #27655) (#27658)
Cherry-picked language server: Fix restarts sometimes not working for buffers open in go-to-definition view (#27655) Closes #ISSUE Release Notes: - Fixed language server restarts sometimes not restarting a language server. Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
gcp-cherry-pick-bot[bot] and Piotr Osiewicz created
3605e77
Bump to 0.180.1 for @maxbrunsfeld
Zed Bot created
4535b23
assistant2: Allow customizing tools for default profiles (#27594)
This PR adds support for customizing the tools for the default profiles. Release Notes: - N/A
Marshall Bowers created
e1dde36
assistant2: Add ability to configure tools for profiles in the UI (#27562)
This PR adds the ability to configure tools for a profile in the UI: https://github.com/user-attachments/assets/16642f14-8faa-4a91-bb9e-1d480692f1f2 Note: Doesn't yet work for customizing tools for the default profiles. Release Notes: - N/A
Marshall Bowers created
2f6fd47
assistant2: Start on modal for managing profiles (#27546)
This PR starts work on a modal for managing profiles. Release Notes: - N/A
Marshall Bowers created
f6b6bff
assistant2: Rework enabled tool representation (#27527)
This PR reworks how we store enabled tools in the `ToolWorkingSet`. We now track them based on which tools are explicitly enabled, rather than by the tools that have been disabled. Also fixed an issue where switching profiles wouldn't properly set the right tools. Release Notes: - N/A
Marshall Bowers created
a35b456
assistant2: Add profile selector (#27520)
This PR replaces the tool selector with a new profile selector. <img width="1394" alt="Screenshot 2025-03-26 at 2 35 42 PM" src="https://github.com/user-attachments/assets/9631c6e9-9c47-411e-b9fc-5d61ed9ca1fe" /> <img width="1394" alt="Screenshot 2025-03-26 at 2 35 50 PM" src="https://github.com/user-attachments/assets/3abe4e08-d044-4d3f-aa95-f472938452a8" /> Release Notes: - N/A
Marshall Bowers created
62a722e
Git: Fix hunks being skipped when staging too quickly (#27552)
Release Notes: - Git: Fix hunks being skipped when staging too quickly. --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
João Marcos and Max Brunsfeld created
a3b0221
Fix crash when staging a hunk that overlaps multiple unstaged hunks (#27545)
Release Notes: - Git: Fix crash when staging a hunk that overlaps multiple unstaged hunks. --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
João Marcos and Max Brunsfeld created
74c06d4
Revert "editor: Do not use `hide_mouse_while_typing` for single line editor" (#27547)
Reverts zed-industries/zed#27536 Looks like hiding cursor on single editor is okay and is default behavior for other apps.
Smit Barmase created
3733ce8
editor: Do not use `hide_mouse_while_typing` for single line editor (#27536)
Release Notes: - N/A
Smit Barmase created
bb58f18
Hide the mouse when the user is typing in the editor - take 2 (#27519)
Closes #4461 Take 2 on https://github.com/zed-industries/zed/pull/25040. Fixes panic caused due to using `setHiddenUntilMouseMoves` return type to `set` cursor on macOS. Release Notes: - Now cursor hides when the user is typing in editor. It will stay hidden until it is moved again. This behavior is `true` by default, and can be configured with `hide_mouse_while_typing` in settings. --------- Co-authored-by: Peter Tripp <peter@zed.dev> Co-authored-by: Thomas Mickley-Doyle <thomas@zed.dev> Co-authored-by: Agus <agus@zed.dev> Co-authored-by: Kirill Bulatov <kirill@zed.dev> Co-authored-by: Agus Zubiaga <hi@aguz.me> Co-authored-by: Angelk90 <angelo.k90@hotmail.it>
Smit Barmase , Peter Tripp , Thomas Mickley-Doyle , Agus , Kirill Bulatov , Agus Zubiaga , and Angelk90 created
27e784b
Fix drawing of 0-width borders when quad has other borders (cherry-pick #27511) (#27517)
Cherry-picked Fix drawing of 0-width borders when quad has other borders (#27511) Closes #27485 Release Notes: - N/A Co-authored-by: Michael Sloan <michael@zed.dev>
gcp-cherry-pick-bot[bot] and Michael Sloan created
8d39ba9
v0.180.x preview
Joseph T. Lyons created
1e22fae
lsp: Check if language server supports `workspace/symbol` request (#27491)
This ensures that we do not get a bunch of error logs when using the symbol search: ``` [2025-03-26T13:23:32+01:00 ERROR project] Method not found [2025-03-26T13:23:32+01:00 ERROR project] Method not found [2025-03-26T13:23:32+01:00 ERROR project] Method not found [2025-03-26T13:23:32+01:00 ERROR project] Method not found [2025-03-26T13:23:32+01:00 ERROR project] Method not found [2025-03-26T13:23:33+01:00 ERROR project] Method not found ... ``` Release Notes: - N/A
Bennet Bo Fenner created
1d9c581
assistant2: Use different icons in the notification popover depending on status (#27493)
Using a check green icon for "success, you're changes are applied" and the info, muted icon for just "there are news". <img src="https://github.com/user-attachments/assets/6b7e06bc-ca03-40fd-8962-7e21f5cd85d9" width="500"/> <img src="https://github.com/user-attachments/assets/347ac8ac-792f-4e18-94d5-69bb9d5270e8" width="500"/> Release Notes: - N/A
Danilo Leal created
39af3b4
assistant2: Improve tool card header scrolling affordance (#27492)
Follow up to https://github.com/zed-industries/zed/pull/27489 Added this subtle gradient to the right side of the tool card header so users know there is more content, suggesting it can be scrolled. Also took the opportunity to extract out commonly used custom colors in all of these cards into their own functions to ensure consistency. Here's the final product: https://github.com/user-attachments/assets/e44150f9-7751-46c7-8790-149b86cc5e0f Release Notes: - N/A
Danilo Leal created
64b3eea
assistant2: Fix tool label overflowing on card header (#27489)
### Before <img src="https://github.com/user-attachments/assets/f56211d8-d60d-4e6c-9c40-af2523f71431" width="600" /> ### After Now, you can horizontally scroll when the header holds an overflowing label. https://github.com/user-attachments/assets/6cb90de3-1db5-4a30-8f23-22221098a233 Release Notes: - N/A
Danilo Leal created
72318df
lsp: Add support for `textDocument/documentSymbol` (#27488)
This PR adds support for retrieving the outline of a specific
buffer/document from the LSP.
E.g. for this code (`crates/cli/src/cli.rs`):
```rs
use collections::HashMap;
pub use ipc_channel::ipc;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
pub struct IpcHandshake {
pub requests: ipc::IpcSender<CliRequest>,
pub responses: ipc::IpcReceiver<CliResponse>,
}
#[derive(Debug, Serialize, Deserialize)]
pub enum CliRequest {
Open {
paths: Vec<String>,
urls: Vec<String>,
wait: bool,
open_new_workspace: Option<bool>,
env: Option<HashMap<String, String>>,
},
}
#[derive(Debug, Serialize, Deserialize)]
pub enum CliResponse {
Ping,
Stdout { message: String },
Stderr { message: String },
Exit { status: i32 },
}
/// When Zed started not as an *.app but as a binary (e.g. local development),
/// there's a possibility to tell it to behave "regularly".
pub const FORCE_CLI_MODE_ENV_VAR_NAME: &str = "ZED_FORCE_CLI_MODE";
```
Rust-analyzer responds with:
```
Symbol: 'IpcHandshake' - Struct - (4:0-8:1) (5:11-5:23)
Symbol: 'requests' - Field - (6:4-6:44) (6:8-6:16)
Symbol: 'responses' - Field - (7:4-7:48) (7:8-7:17)
Symbol: 'CliRequest' - Enum - (10:0-19:1) (11:9-11:19)
Symbol: 'Open' - EnumMember - (12:4-18:5) (12:4-12:8)
Symbol: 'paths' - Field - (13:8-13:26) (13:8-13:13)
Symbol: 'urls' - Field - (14:8-14:25) (14:8-14:12)
Symbol: 'wait' - Field - (15:8-15:18) (15:8-15:12)
Symbol: 'open_new_workspace' - Field - (16:8-16:40) (16:8-16:26)
Symbol: 'env' - Field - (17:8-17:44) (17:8-17:11)
Symbol: 'CliResponse' - Enum - (21:0-27:1) (22:9-22:20)
Symbol: 'Ping' - EnumMember - (23:4-23:8) (23:4-23:8)
Symbol: 'Stdout' - EnumMember - (24:4-24:30) (24:4-24:10)
Symbol: 'message' - Field - (24:13-24:28) (24:13-24:20)
Symbol: 'Stderr' - EnumMember - (25:4-25:30) (25:4-25:10)
Symbol: 'message' - Field - (25:13-25:28) (25:13-25:20)
Symbol: 'Exit' - EnumMember - (26:4-26:24) (26:4-26:8)
Symbol: 'status' - Field - (26:11-26:22) (26:11-26:17)
Symbol: 'FORCE_CLI_MODE_ENV_VAR_NAME' - Constant - (29:0-31:67) (31:10-31:37)
```
We'll use this to reference specific symbols in assistant2
Release Notes:
- N/A
Bennet Bo Fenner created
d52291b
assistant2: Add new icons for create and delete file tool (#27487)
Release Notes: - N/A
Danilo Leal created
7462e74
Improve `editor::CopyAndTrim` action's discoverability (#27484)
Follow-up of https://github.com/zed-industries/zed/pull/27206 Add it to the editor context menu and Zed's app menu near the `Copy` action. Release Notes: - N/A
Kirill Bulatov created
de67d93
git: Fix staging file hunks on Windows (#26661)
Closes #26458 I had checked, and also reference the implementation in vscode. Release Notes: - N/A --------- Co-authored-by: 张小白 <364772080@qq.com>
CharlesChen0823 and 张小白 created
a02f7e5
Debugger UI: Update tab content and remove red tint from terminated session (#27475)
The new tab content makes it obvious when a session is shutdown so the red tint is no longer needed. Release Notes: - N/A
Anthony Eid created
d70ac64
Allow enabling/disabling breakpoints (#27280)
This PR adds the ability to enable/disable breakpoints. It also fixes a bug where toggling a log breakpoint from the breakpoint context menu would add a standard breakpoint on top of the log breakpoint instead of deleting it. todo: - [x] Add `BreakpointState` field Breakpoint that manages if a breakpoint is active or not - [x] Don't send disabled breakpoints to DAP servers - in progress - [x] Half the opacity of disabled breakpoints - in progress - [x] Add `BreakpointState` to database - [x] Editor test for enabling/disabling breakpoints - [ ] Integration Test to make sure we don't send disabled breakpoints to DAP servers - [x] Database test to make sure we properly serialize/deserialize BreakpointState Release Notes: - N/A --------- Co-authored-by: Piotr <piotr@zed.dev> Co-authored-by: Conrad <conrad@zed.dev> Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Anthony Eid , Piotr , Conrad , and Mikayla Maki created
df583d7
Fix `corner_radii` clamping for `Img` when actual size is smaller than the container (#27473)
Noticed this when working on #27472 Release Notes: - N/A
Michael Sloan created
e091c5f
Fix `paint_quad` behavior change which clamped corner rounding (#27472)
Turns out that git deletion indicator relied on using larger-than-bounds corner rounding - see https://github.com/zed-industries/zed/pull/27460#issuecomment-2753174153 Release Notes: - N/A
Michael Sloan created
931a6d6
Notify when tool is finished (#27459)
Now if a tool call finishes (or is blocked on confirmation) and the Zed window is not active, you get a notification popup. You can turn it off with a setting. <img width="420" alt="Screenshot 2025-03-25 at 5 19 25 PM" src="https://github.com/user-attachments/assets/bdf7b6b8-4428-4b46-8b09-e0be140f8a51" /> <img width="420 alt="Screenshot 2025-03-25 at 5 18 13 PM" src="https://github.com/user-attachments/assets/1325e7b8-cd5a-44b9-a82d-5db928ad3cfc" /> Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <hi@aguz.me> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Richard Feldman , Agus Zubiaga , and Danilo Leal created
a605b66
editor: Do not insert scrollbar hitboxes when scrollbars are disabled (#27467)
This PR fixes an issue where a clickable scrollbar track was inserted in
the editor even when scrollbars were explicitly disabled via the user's
settings. If the user has
```json
"scrollbar": {
"show": "never"
}
```
in their settings, invisible and interactable scrollbar tracks will be
inserted in the editor if scrollbars would be required, as seen below:
https://github.com/user-attachments/assets/b0d915a9-7a7e-4518-84d8-96d9b15aab12
The bug occurs because we only set the scrollbar contents to be
invisible, which however does not affect the insertion of hitboxes for
the scrollbars.
This PR fixes this behaviour by preventing any scrollbar layouting from
happening when scrollbars are explicitly disabled via the settings:
https://github.com/user-attachments/assets/a3f5725b-aead-4fec-9fd8-e574cf269d45
All existing panels which have configurable scrollbars behave the same
way, see
https://github.com/zed-industries/zed/blob/fb2586a5533aff4e5a4b508e7b397d81dc6b9deb/crates/outline_panel/src/outline_panel.rs#L4362-L4373
for example. Following this check, neither a thumb nor a track is
inserted in any case when scrollbars are never to be shown.
Release Notes:
- Fixed invisible scrollbar tracks being inserted into the editor when
scrollbars are explicitly disabled via settings.
Finn Evers created
7376c6f
Add support for Gemini 2.5 Pro Experimental model (#27468)
Release Notes: - Added support for Gemini 2.5 Pro Experimental model to Zed AI. Co-authored-by: Wilhelm Klopp <wil.klopp@gmail.com>
Michael Sloan and Wilhelm Klopp created
ee08776
markdown_preview: Fix code block highlight and indentation (#27463)
Closes #23218 Before: <img width="1463" alt="before" src="https://github.com/user-attachments/assets/4f77a4e0-61b8-4516-91a4-366f73e24760" /> After: <img width="1463" alt="after" src="https://github.com/user-attachments/assets/61e2c69d-fa6b-4c52-b1eb-ad7a61e274e0" /> Release Notes: - Fixed issue where code block highlight and indentation in markdown preview was rendered incorrectly.
Smit Barmase created
30f7e89
Add a way to control go to definition fallback (#27426)
Follow-up of https://github.com/zed-industries/zed/pull/9243 and https://github.com/zed-industries/zed/pull/16512 Release Notes: - Added a way to control go to definition fallback
Kirill Bulatov created
8c8f50d
Pull logic for clamping corner rounding radii out of `Corners::to_pixels` (#27460)
This seems more correct as corners are not necessarily only for rounding radii. Also applies clamping after scaling in `paint_quad`, deduplicating that logic. This also provides a more precise result by doing the clamping after scaling, avoiding floating point rounding issues (probably a non-issue). Release Notes: - N/A
Michael Sloan created
76192ea
worktree: Don't open files >= 6GB in size (#27458)
Temporary Workaround For: #27283 This PR can (and should!) be reverted once the underlying inefficiencies are resolved Release Notes: - Files that are 6GB or larger will now not open. This is a temporary workaround for inefficient handling of large files resulting in extremely high memory usage, often resulting in system freezing, requiring a restart of Zed or the entire system.
Ben Kunkle created
fb2586a
assistant2: Add some padding top to the checkpoint element (#27456)
Most minimal PR ever. Release Notes: - N/A
Danilo Leal created
28e0bb5
ci: Run nix nightly on any mac runners (#27457)
Nix nightly builds can now run on all macOS runners. Follow-up to: https://github.com/zed-industries/zed/pull/27014 Release Notes: - N/A
Peter Tripp created
a65ea27
editor: Refactor scrollbar-related code (#24134)
This PR is primarily an implementation of @osiewicz [comment](https://github.com/zed-industries/zed/pull/19495#pullrequestreview-2488877957) in an effort to increase maintainability after the horizontal editor scrollbar was added in #19495 . I also want to build on these changes in future PRs to adress some other small bugs. This primarily does the following: 1. Uses `along` wherever possible 2. Fixes the amount of mouse event listeners attached to the editor when scrollbars are displayed to 2 instead of 2-4 in case both scrollbars are displayed. This can be done since only one scrollbar can be dragged by the cursor at any given time, so the event listeners now account for that. The state reflecting the scrollbar dragging state was also updated accordingly. It does not change any functionality besides the aforementioned event listener code as well as some minor bugs which where present after #19495 , namely: - One missing `cx.stop_propagation()` (see [here](https://github.com/zed-industries/zed/blob/a8741dc3107a205ba5a28aa8c3e18747ceed2ba3/crates/editor/src/element.rs#L4684) and [here](https://github.com/zed-industries/zed/blob/a8741dc3107a205ba5a28aa8c3e18747ceed2ba3/crates/editor/src/element.rs#L4838) respectively). - The horizontal scrollbar thumb having a small border on the left side, which seems to be unintended for the horizontal scrollbar whilst intended for the vertical one. Since this is a minimal change, I figured it could be already included in this PR. This PR admittetly grew quite large over time, however, much of the diff is just renames to account for the code now working for both axes as well as moved code. The logic remains (or should at least be) unaffected. If I should split this into two PRs or remove some of the changes, please let me know. Release Notes: - N/A
Finn Evers created
1574a3a
python: Add task for running modules (#26462)
Closes #26460
I am new to contributing to Zed (and pretty new to Rust in general). I'm
not too familiar with code style, guidelines etc. so please feel free to
suggest changes/improvements.
This PR adds a run icon to Python files that have a "main" function:
```python
if __name__ == "__main__":
...
```
In addition to the gutter icon, there is now also an extra task in the
command palette "run module".
Release Notes:
- Added detection for runnable Python modules
- Added Python-specific task to run a Python file as a module from
inside the project's scope
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Alex van de Griendt and Piotr Osiewicz created
152432f
title bar: Adjust the onboarding banner component API (#27455)
This PR encapsulates the layout building of the Onboarding Banner component inside of it, allowing to, at the call site, just pass an icon, title, and subtitle. The `subtitle` parameter, by default, uses the `Introducing:` label, which I think will be the one we'll use most of the time for this specific component. Release Notes: - N/A
Danilo Leal created
5953c61
assistant2: Allow profiles to manage context server tools (#27452)
This PR updates the agent profiles with support for managing context server tools. Release Notes: - N/A
Marshall Bowers created
aab02a4
Fix color swatch shrinking in the LSP completion menu (#27450)
### Before Note how in the second time I try to add a color property, the color swatch is shrunk. https://github.com/user-attachments/assets/677a37b2-8ae4-408d-8dea-d9cc4bc2e119 ### After https://github.com/user-attachments/assets/aa902573-1f44-48e1-a396-e22ad5703155 Release Notes: - Fixed color swatches shrinking upon re-adding a color-related property.
Danilo Leal created
9fc570c
Remove `Pixels: Mul<Pixels, Output = Pixels>` impl, add ScaledPixels ops (#27451)
It doesn't make sense to have `Pixels: Mul<Pixels, Output = Pixels>` as the output should be `Pixels^2` (area), so these impls are removed. All code where these impls were used are improved by instead multiplying by `f32` or `usize`. Also adds math op impls that are present for `Pixels` but absent for `ScaledPixels`. Adds missing `Mul<Pixels> for usize` to both. Release Notes: - N/A
Michael Sloan created
581d673
Remove `ui` dependency from `assistant_tool` and `context_server` (#27449)
This PR removes the dependency on the `ui` crate from the `assistant_tool` and `context_server` crates. These crates were only depending on it for `IconName`, which can now be depended on from `icons` directly. Release Notes: - N/A
Marshall Bowers created