73568fc
ui: Add `ThreadItem` component (#43167)
Click to expand commit body
Release Notes: - N/A
Danilo Leal created
73568fc
ui: Add `ThreadItem` component (#43167)
Release Notes: - N/A
Danilo Leal created
56401fc
debugger: Allow users to include PickProcessId in debug tasks and resolve Pid (#42913)
Closes #33286 This PR adds support for Zed's `$ZED_PICK_PID` command in debug configurations, which allows users to select a process to attach to at debug time. When this variable is present in a debug configuration, Zed automatically opens a process picker modal. Follow up for this will be integrating this variable in the task system instead of just the debug configuration system. Release Notes: - Added `$ZED_PICK_PID` variable for debug configurations, allowing users to select which process to attach the debugger to at runtime --------- Co-authored-by: Remco Smits <djsmits12@gmail.com>
Anthony Eid and Remco Smits created
e033829
Fix diff highlights (#38384)
Per https://github.com/zed-industries/zed/discussions/23371#discussioncomment-13533635, the issue is not new and I don't know how to solve the problem more holistically yet. All of the native themes don't have spec for `@diff.plus` and `@diff.minus` leaving addition and deletion not being highlighted. For diff file, the most valuable highlighting comes from exactly what we're missing. Hence, I think this is worth fixing. Perhaps, the ideal fix would be standardizing and documenting captures such as `@diff.plus` and `@diff.minus` on https://zed.dev/docs/extensions/languages#syntax-highlighting for theme writers to adopt. But the existing list of captures seems to be language-agnostic so I'm not sure if that's the best way forward. Per https://github.com/the-mikedavis/tree-sitter-diff/pull/18#issuecomment-2569785346, `tree-sitter-diff`'s author prefers using `@keyword` and `@string` so that `tree-sitter highlight` can work out of the box. So it seems to be an ok choice for Zed. Another approach is just adding `@diff.plus` and `@diff.minus` to the native themes. Let me know if I should pursue this instead. Before <img width="668" height="328" alt="Screenshot 2025-09-18 at 11 16 14 AM" src="https://github.com/user-attachments/assets/d9a5b3b5-b9ef-4e74-883f-831630fb431e" /> After <img width="1011" height="404" alt="Screenshot 2025-09-18 at 12 11 15 PM" src="https://github.com/user-attachments/assets/9cf453c0-30df-4d17-99e9-f2297865f12a" /> <img width="915" height="448" alt="Screenshot 2025-09-18 at 12 12 14 PM" src="https://github.com/user-attachments/assets/9e7438a6-9009-4136-b841-1f8e1356bc9b" /> Closes https://github.com/zed-industries/extensions/issues/490 Release Notes: - Fixed highlighting for addition and deletion for diff language --------- Co-authored-by: MrSubidubi <finn@zed.dev>
Vinh Tran and MrSubidubi created
61f512a
Move protobuf action to default linux runner (#43085)
Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Finn Evers and Conrad Irwin created
dd5482a
docs: Update developing extension docs for updating specific submodule (#42548)
Release Notes: - N/A
Arun Chapagain created
9094eb8
git: Compress diff for commit message generation (#42835)
This PR compresses diff capped at 20000 bytes by: - Truncation of all lines to 256 chars - Iteratively removing last hunks from each file until size <= 20000 bytes. Closes #34486 Release Notes: - Improved: Compress large diffs for commit message generation (thanks @11happy) --------- Signed-off-by: 11happy <soni5happy@gmail.com> Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>
Bhuminjay Soni and Oleksiy Syvokon created
29f9853
svg_preview: Remove unnecessary dependency on editor (#43147)
Editor is a choke point in our compilation graph while also being a very common crate that is being edited. So reducing things that depend on it will generally improve compilation times for us. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
1e45c99
Improve readability of files in the git changes panel (#41857)
Closes _unknown_ <img width="1212" height="463" alt="image" src="https://github.com/user-attachments/assets/ec00fcf0-7eb9-4291-b1e2-66e014dc30ac" /> This PR places the file_name before the file_path so that when the panel is slim it is still usable, mirrors the behaviour of the file picker (cmd+P) Release Notes: - Improved readability of files in the git changes panel
Aaron Saunders created
28f5097
agent_ui: Add support for setting a model as the default for external agents (#43122)
This PR builds on top of the `default_mode` feature where it was possible to set an external agent mode as the default if you held a modifier while clicking on the desired option. Now, if you want to have, for example, Haiku as your default Claude Code model, you can do that. This feature adds parity between external agents and Zed's built-in one, which already supported this feature for a little while. Note: This still doesn't work with external agents installed from extensions. At the moment, this is limited to Claude Code, Codex, and Gemini—the ones we include out of the box. Release Notes: - agent: Added the ability to set a model as the default for a given built-in external agent (Claude Code, Codex CLI, or Gemini CLI).
Danilo Leal created
95cb467
multi_buffer: Remove redundant `TypedOffset`/`TypedPoint` (#43139)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
681a565
project_panel: Add CollapseAllEntries keybinding (#43112)
Motivated by user feature requests * https://github.com/zed-industries/zed/issues/6880 * https://discord.com/channels/869392257814519848/1439453067119562793 In analogy with VSCode functionality, we're adding a keybinding to the project panel. This is particularly for useful for large monorepos. Release Notes: - Keybinding added for `CollapseAllEntries` when in the `ProjectPanel`. Co-authored-by: mikayla <mikayla@zed.dev>
Miguel Raz Guzmán Macedo and mikayla created
5052a46
vim: Fix increment panicking due to invalid utf8 offsets (#43101)
Fixes ZED-3ER Release Notes: - Fixed a panic when using vim increment on a multibyte character
Lukas Wirth created
66382ac
ui: Remove outdated/unused component stories (#43118)
This PR removes basically all of the component stories, with the exception of the context menu, which is a bit more intricate to set up. All of the component that won't have a story after this PR will have an entry in the Component Preview, which serves basically the same purpose. Release Notes: - N/A
Danilo Leal created
ba59626
ui: Remove the `ToggleButton` component (#43115)
This PR removes the old `ToggleButton` component, replacing it with the newer `ToggleButtonGroup` component in the couple of places that used to use it. Ended up also adding a few more methods to the newer toggle button group so the UI for the extensions page and the debugger main picker didn't get visually impacted much. Then, as I was already in the extensions page, decided to bake in some reasonably small UI improvements to it as well. Release Notes: - N/A
Danilo Leal created
1fab43d
Allow styling the container of markdown elements (#43107)
Closes #43033 Release Notes: - FIxed an issue where the padding on info popovers would overlay text when the content was scrollable.
Finn Evers created
f2f40a5
zeta2: Merge Sweep and Zeta2 Providers (#43097)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Ben Kunkle and Max Brunsfeld created
c70f2d1
lsp_button: Do not surface language servers from different windows in current workspace (#42733)
This led to a problem where we'd have a zombie entries in LSP dropdown because they were treated as if they originated from an unknown worktree. Closes #42077 Release Notes: - Fixed LSP status list containing zombie entries for LSPs in other windows --------- Co-authored-by: HactarCE <6060305+HactarCE@users.noreply.github.com> Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Piotr Osiewicz , HactarCE , and Kirill Bulatov created
c98b2d6
multi_buffer: Typed `MultiBufferOffset` (#42707)
This PR introduces a new `MultiBufferOffset` new type wrapping size. The goal of this is to make it clear at the type level when we are interacting with offsets of a multi buffer versus offsets of a language / text buffer. This improves readability of things quite a bit by making it clear what kind of offsets one is working with while also reducing accidental bugs by using the wrong kin of offset for the wrong API. This PR also uncovered two minor bugs due to that. Does not yet introduce the MultiBufferPoint equivalent, that is for a follow up PR. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
5e21457
Fix panic in the git panel when toggling `sort_by_path` (#43074)
We call `entry_by_path` on the `bulk_staging` anchor entry at the beginning of `update_visible_entries`, but in the codepath where `sort_by_path` is toggled on or off, we clear entries without clearing `bulk_staging` or counts, causing that `entry_by_path` to do an out of bounds index. Fixed by clearing `bulk_staging` as well. Release Notes: - N/A
Cole Miller created
f312215
Potentially make zip test less flakey (#43099)
Authored-By: Claude Release Notes: - N/A
Conrad Irwin created
08692bb
git: Clear pending ops for remote repos (#43098)
Release Notes: - N/A
Jakub Konka created
09e02a4
Allow running zeta evals against sweep (#43039)
This PR restructures the subcommands in `zeta-cli`, so that the prediction engine (currently `zeta1` vs `zeta2`) is no longer the highest order subcommand. Instead, there is just one layer of subcommands: `eval`, `predict`, `context`, etc. Within these commands, there are flags for using `zeta1`, `zeta2`, and now `sweep`. Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Agus <agus@zed.dev>
Max Brunsfeld , Ben Kunkle , and Agus created
68b87fc
Use fixed calloop (#43081)
Calloop (used by our linux executor) was running all futures regardless of how long they take. Unfortunaly some of our futures are rather busy and take a while (>10ms). Running all of them froze the editor for multiple seconds or even minutes when opening a large project diff (git reset HEAD~2000 in chromium for example). Closes #ISSUE Release Notes: - N/A --------- Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
David Kleingeld and Jakub Konka created
ec220dc
sweep: Coalesce edits based on line distance rather than time (#43006)
Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Agus Zubiaga and Ben Kunkle created
b6c8c3f
Remove migrated scripts (#43095)
These scripts have been migrated to: https://github.com/zed-industries/release_notes Release Notes: - N/A
Joseph T. Lyons created
dccddf6
project_panel: Remove `cmd-opt-.` binding for hiding hidden files (#43091)
Lots of folks were accidentally clicking this. Even though it’s the default in macOS Finder, it’s a good idea to not have it as the default for us. Release Notes: - Removed the default `cmd-opt-.` binding for toggling hidden files in the Project Panel so it’s harder to hide them by accident.
Smit Barmase created
27cb01f
Fix Helix mode search & selection (#42928)
This PR redoes the desired behavior changes of #41583 (reverted in #42892) but less invasively Closes #41125 Closes #41164 Release Notes: - N/A Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Andrew Farkas and Conrad Irwin created
829be71
Fix invalid Unicode in terms & conditions (#42906)
Closes #40210 Previously attempted in #40423 and #42756. Third time's the charm? Release Notes: - Fixed encoding error in terms & conditions displayed when installing
Andrew Farkas created
2a2f5a9
Add callable workflow for extension repositories (#43082)
This starts the work on a workflow that can be invoked in extension CI to test changes on extension repositories. Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <agus@zed.dev> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Finn Evers , Agus Zubiaga , and Conrad Irwin created
97b4299
gpui: Do not render ligatures between different styled text runs (#43080)
An attempt to re-land https://github.com/zed-industries/zed/pull/41043 Part of https://github.com/zed-industries/zed/issues/5259 (as `>>>` forms a ligature that we need to break into differently colored tokens) Before: <img width="301" height="86" alt="image" src="https://github.com/user-attachments/assets/e710391a-b8ad-4343-8344-c86fc5cb86b6" /> and https://github.com/user-attachments/assets/ae77ba64-ca50-4b5d-9ee4-a7d46fcaeb34 After: <img width="1254" height="302" alt="image" src="https://github.com/user-attachments/assets/7fd5dba5-d798-4153-acf2-e38a1cb712ae" /> When certain combination of characters forms a ligature, it takes the color of the first character. Even though the runs are split already by color and other properties, the underlying font system merges the runs together. Attempts to modify color and other, unrelated to font size, parameters, did not help on macOS, hence a somewhat odd approach was taken: runs get interleaved font sizes: normal and "normal + a tiny bit more". This is the only option that helped splitting the ligatures, and seems to render fine. Release Notes: - Fixed ligatures forming between different text kinds --------- Co-authored-by: Lukas Wirth <lukas@zed.dev>
Kirill Bulatov and Lukas Wirth created
404ee53
Fix Windows bundling (#43083)
The updated package from https://github.com/zed-industries/zed/pull/43066 changed the paths of these files in the nupkg. Release Notes: - N/A
John Tur created
17c3056
Fix extension auto-install on first setup (#43078)
Release Notes: - N/A
localcc created
f05eef5
Stop the buggy stalebot for now (#43076)
Delay the stalebot runs until the end of the year since it's currently broken and leaves unhelpful comments on all the issues, including feature requests. Bad bot. Allegedly this bug will soon be gone https://github.com/actions/stale/issues/1302 but it's too much work protecting issues from the bot until then. Release Notes: - N/A
Lena created
52716ba
Bump Zed to v0.215 (#43075)
Release Notes: - N/A
Joseph T. Lyons created
79be5cb
editor: Fix prepaint recursion when updating stale sizes (#42896)
The bug is in the `place_near` logic, specifically the `!row_block_types.contains_key(&(row - 1))` check. The problem isn’t really that condition itself, but it’s that it relies on `row_block_types`, which does not take into account that upon block resizes, subsequent block start row moves up/down. Since `place_near` depends on this incorrect map, it ends up causing incorrect resize syncs to the block map, which then triggers more bad recursive calls. The reason it worked till now in most of the cases is that recursive resizes eventually lead to stabilizing it. Before `place_near`, we never touched `row_block_types` during the first prepaint pass because we knew it was based on outdated heights. Once all heights are finalized, using it is fine. The fix is to make sure `row_block_types` is accurate from the very first prepaint pass by keeping an offset whenever a block shrinks or expands. Now ideally it should take only one subsequent prepaint. But due to shrinking, new custom/diagnostics blocks might come into the view from below, which needs further prepaint calls for resolving. Right now, tests pass after 2 subsequent prepaint calls. Just to be safe, we have set it to 5. <img width="500" alt="image" src="https://github.com/user-attachments/assets/da3d32ff-5972-46d9-8597-b438e162552b" /> Release Notes: - Fix issue where sometimes Zed used to experience freeze while working with inline diagnostics.
Smit Barmase created
a42676b
git: Put pending ops container out of snapshot (#43061)
This also fixes staging checkbox flickering. Release Notes: - Fixed staging checkbox flickering sporadically in the Git panel.
Jakub Konka created
39f8aef
zeta2: Improve context retrieval (#43014)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: Agus <agus@zed.dev> Co-authored-by: Max <max@zed.dev>
Ben Kunkle , Agus , and Max created
1c1dfba
windows: Bundle freshers conpty.dll builds (#43066)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
2c4fd24
gpui: Restore last window close behavior on macOS (#43058)
Follow-up to https://github.com/zed-industries/zed/pull/42391 Release Notes: - Fixed an issue where Zed did not respect the `on_last_window_closed` setting on macOS
Finn Evers created
3125e78
windows: Bundle new conpty.dll/OpenConsole.exe and use it for local builds on x86_64 (#43059)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
74d61aa
util: Fix zip extraction (#42714)
I was trying to use Zed for Rust debugging on windows, but was getting
this warning in debugger console: "Could not initialize Python
interpreter - some features will be unavailable (e.g. debug
visualizers)."
As the warning suggests this led to bad debugging experience where the
variables were not visualized properly in the "Variables" panel.
After some investigation I found that the problem is that Zed silently
failed to extract all files from the debug adapter package
(https://github.com/vadimcn/codelldb/releases/download/v1.11.8/codelldb-win32-x64.vsix).
Particularly `python-lldb` folder was missing, which caused the warning.
The error occurred here:
https://github.com/zed-industries/zed/blob/cf7c64d77f1806cdd34b3812bbf27681fb3cb905/crates/util/src/archive.rs#L47
And then gets ignored here:
https://github.com/zed-industries/zed/blob/cf7c64d77f1806cdd34b3812bbf27681fb3cb905/crates/dap/src/adapters.rs#L323-L326
The simple fix is to update `async_zip` crate to version 0.0.18 where
this issue appears to be fixed. I also added logging instead of silently
ignoring the error, as I believe that would have helped to catch it
earlier.
To reproduce the original issue you can try to follow these steps:
0. (Optional) Remove/rename old codelldb adapter at
`%localappdata%\Zed\debug_adapters\CodeLLDB`. Restart Zed.
1. Create a simple Rust project. Make sure you use gnu toolchain (target
`x86_64-pc-windows-gnu`)
```rust
fn world() -> String {
"world".into()
}
fn main() {
let w = world();
println!("hello {}", w);
}
```
2. Put a breakpoint on line 7 (`println`)
3. In the command palette choose "debugger: start" and then select "run
*crate name*"
Screenshot before the fix:
<img width="893" height="411" alt="image"
src="https://github.com/user-attachments/assets/78097690-b55e-4989-bfa4-20452560f9fc"
/>
<details>
<summary>Console before the fix</summary>
```
Checking latest version of CodeLLDB...
Downloading from https://github.com/vadimcn/codelldb/releases/download/v1.11.8/codelldb-win32-x64.vsix...
Download complete
Could not initialize Python interpreter - some features will be unavailable (e.g. debug visualizers).
Console is in 'commands' mode, prefix expressions with '?'.
warning: (x86_64) D:\repro\target\x86_64-pc-windows-gnu\debug\repro.exe unable to locate separate debug file (dwo, dwp). Debugging will be degraded.
Launching: D:\repro\target\x86_64-pc-windows-gnu\debug\repro.exe
Launched process 13836 from 'D:\repro\target\x86_64-pc-windows-gnu\debug\repro.exe'
error: repro.exe [0x0000000000002074]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x000000000000001a) attribute, but range extraction failed (invalid range list offset 0x1a), please file a bug and attach the file at the start of this error message
error: repro.exe [0x000000000000208c]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x0000000000000025) attribute, but range extraction failed (invalid range list offset 0x25), please file a bug and attach the file at the start of this error message
error: repro.exe [0x00000000000020af]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x0000000000000030) attribute, but range extraction failed (invalid range list offset 0x30), please file a bug and attach the file at the start of this error message
error: repro.exe [0x00000000000020c4]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x000000000000003b) attribute, but range extraction failed (invalid range list offset 0x3b), please file a bug and attach the file at the start of this error message
error: repro.exe [0x00000000000020fc]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x0000000000000046) attribute, but range extraction failed (invalid range list offset 0x46), please file a bug and attach the file at the start of this error message
error: repro.exe [0x0000000000002130]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x0000000000000046) attribute, but range extraction failed (invalid range list offset 0x46), please file a bug and attach the file at the start of this error message
> ? w
< {...}
```
</details>
Screenshot after the fix:
<img width="634" height="295" alt="image"
src="https://github.com/user-attachments/assets/67e36a64-97d2-406c-9216-7ac5b01f4101"
/>
<details>
<summary>Console after the fix</summary>
```
Checking latest version of CodeLLDB...
Downloading from https://github.com/vadimcn/codelldb/releases/download/v1.11.8/codelldb-win32-x64.vsix...
Download complete
Console is in 'commands' mode, prefix expressions with '?'.
Loading Rust formatters from C:\Users\Vasyl\.rustup\toolchains\1.91.1-x86_64-pc-windows-msvc\lib/rustlib/etc
warning: (x86_64) D:\repro\target\x86_64-pc-windows-gnu\debug\repro.exe unable to locate separate debug file (dwo, dwp). Debugging will be degraded.
Launching: D:\repro\target\x86_64-pc-windows-gnu\debug\repro.exe
Launched process 10364 from 'D:\repro\target\x86_64-pc-windows-gnu\debug\repro.exe'
error: repro.exe [0x0000000000002074]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x000000000000001a) attribute, but range extraction failed (invalid range list offset 0x1a), please file a bug and attach the file at the start of this error message
error: repro.exe [0x000000000000208c]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x0000000000000025) attribute, but range extraction failed (invalid range list offset 0x25), please file a bug and attach the file at the start of this error message
error: repro.exe [0x00000000000020af]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x0000000000000030) attribute, but range extraction failed (invalid range list offset 0x30), please file a bug and attach the file at the start of this error message
error: repro.exe [0x00000000000020c4]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x000000000000003b) attribute, but range extraction failed (invalid range list offset 0x3b), please file a bug and attach the file at the start of this error message
error: repro.exe [0x00000000000020fc]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x0000000000000046) attribute, but range extraction failed (invalid range list offset 0x46), please file a bug and attach the file at the start of this error message
error: repro.exe [0x0000000000002130]: DIE has DW_AT_ranges(DW_FORM_sec_offset 0x0000000000000046) attribute, but range extraction failed (invalid range list offset 0x46), please file a bug and attach the file at the start of this error message
> ? w
< "world"
```
</details>
This fixes #33753
Release Notes:
- util: Fixed archive::extract_zip failing to extract some archives
Vasyl Protsiv created
40dd4e2
zeta: Add stats about context lines from patch that were retrieved during context retrieval (#43053)
A.K.A: Eval: Expect lines necessary to uniquely target every change in "Expected Patch" to be included as context Release Notes: - N/A
Piotr Osiewicz created
9feb260
lsp: Support deprecated completion item tag and advertise capability (#43000)
Release Notes: - N/A
xdBronch created
5ccbe94
util: Check whether discovered powershell is actually executable (#43044)
Closes https://github.com/zed-industries/zed/issues/42944 The powershell we discovered might be in a directory with higher permission requirements which will cause us to fail using it. Release Notes: - Fixed powershell discovery disregarding admin requirements
Lukas Wirth created
a910c59
agent_ui: Add mode_id to telemetry (#43045)
Release Notes: - N/A
Bennet Bo Fenner created
19d2532
Update google_ai.rs (#43034)
Release Notes: - N/A
Mikayla Maki created
785b81a
Revert "Fix track file renames in git panel (#42352)" (#43030)
This reverts commit b0a7defd0990c315c27f51f82dbf13a736279eba. It looks like this doesn't interact correctly with the project diff or with staging, let's revert and reland with bugs fixed. Release Notes: - N/A
Cole Miller created
24c1617
git_ui: Dismiss pickers only on active window (#41320)
Small QOL improvement for branch picker to only dismiss when focus lost in active window. This can benefit those who need to switch windows mid branch creation to fetch correct jira ticket number or etc. Added `window.is_active_window()` guard in `picker.rs` -> `cancel` event Release Notes: - (Let's Git Together) Fixed a behavior where pickers would automatically close upon the window becoming inactive.
Ben Heimberg created
1e2f15a
Disable phpactor by default on windows (#43011)
We install phpactor by default, but on windows it doesn't work out of the box (see [here](https://github.com/phpactor/phpactor/discussions/2579) for details). For now we'll default to using intelephense, but in the future we'd like to switch back if phpactor lands windows support given that it's open source. Release Notes: - N/A
Julia Ryan created
7c0663b
google_ai: Add gemini-3-pro-preview model (#43015)
Release Notes: - Added the newly released Gemini 3 Pro Preview Model https://docs.cloud.google.com/vertex-ai/generative-ai/docs/models/gemini/3-pro
Martin Bergo created