03cf7dd
acp: Update to agent-client-protocol rust sdk v0.9.0 (#44373)
Click to expand commit body
Release Notes: - N/A
Ben Brandt created
03cf7dd
acp: Update to agent-client-protocol rust sdk v0.9.0 (#44373)
Release Notes: - N/A
Ben Brandt created
9364d39
Improve TS/TSX/JS syntax highlighting for parameters, types, and punctuation (#43437)
This pull request enhances syntax highlighting for JavaScript, TypeScript, TSX, and JSDoc by adding more precise rules for parameters, types, and punctuation. - Added queries for highlighting parameters (`@variable.parameter`) - Expanded highlighting for type identifiers, type aliases, interfaces, classes - Extended/implemented types to improve distinction between different type constructs (`@type`, `@type.class`) - Added highlighting for punctuation in type parameters, unions, intersections, annotations, index signatures, optional fields, and predicates (`@punctuation.special`, `@punctuation.bracket`) - Added highlighting for identifiers in JSDoc comments (`@variable.jsdoc`) Release Notes: - Refined syntax highlighting in JavaScript and TypeScript for better visual distinction of types, parameters, and JSDoc elements
Clay Tercek created
f169134
title_bar: Fix clicking collaborators on windows not starting a follow (#44364)
Release Notes: - Fixed left click not allowing to follow in collab title bar on windows
Lukas Wirth created
5bfc0ba
macos: Reset exception ports for shell-spawned processes (#44193)
## Summary
Follow-up to #40716. This applies the same `reset_exception_ports()` fix
to `set_pre_exec_to_start_new_session()`, which is used by shell
environment capture, terminal spawning, and DAP transport.
### Root Cause
After more debugging, I finally figured out what was causing the issue
on my machine. Here's what was happening:
1. Zed spawns a login shell (zsh) to capture environment variables
2. A pipe is created: reader in Zed, writer mapped to fd 0 in zsh
3. zsh sources `.zshrc` → loads oh-my-zsh → runs poetry plugin
4. Poetry plugin runs `poetry completions zsh &|` in background
5. Poetry inherits fd 0 (the pipe's write end) from zsh
6. zsh finishes `zed --printenv` and exits
7. Poetry still holds fd 0 open
8. Zed's `reader.read_to_end()` blocks waiting for all writers to close
9. Poetry hangs (likely due to inherited crash handler exception ports
interfering with its normal operation)
10. Pipe stays open → Zed stuck → no more processes spawn (including
LSPs)
I confirmed this by killing the hanging `poetry` process, which
immediately unblocked Zed and allowed LSPs to start. However, this
workaround was needed every time I started Zed.
While poetry was the culprit in my case, this can affect any shell
configuration that spawns background processes during initialization
(oh-my-zsh plugins, direnv, asdf, nvm, etc.).
Fixes #36754
## Test plan
- [x] Build with `ZED_GENERATE_MINIDUMPS=true` to force crash handler
initialization
- [x] Verify crash handler logs appear ("spawning crash handler
process", "crash handler registered")
- [x] Confirm LSPs start correctly with shell plugins that spawn
background processes
Release Notes:
- Fixed an issue on macOS where LSPs could fail to start when shell
plugins spawn background processes during environment capture.
Rémi Kalbe created
d7b99a5
gpui: Fix new window cascade positioning (#44358)
Closes [#44354](https://github.com/zed-industries/zed/discussions/44354) Release Notes: - Fixed new windows to properly cascade from the active window instead of opening at the exact same position
Jake Go created
7691cf3
Fix selections when opening excerpt with an existing buffer that has expanded diff hunks (#44360)
Release Notes: - N/A
Cole Miller created
63cc90c
debugger: Fix stack frame filter not persisting between sessions (#44352)
This bug was caused by using two separate keys for writing/reading from the KVP database. The bug didn't show up in my debug build because there was an old entry of a valid key. I added an integration test for this feature to prevent future regressions as well. Release Notes: - debugger: Fix a bug where the stack frame filter state wouldn't persist between sessions
Anthony Eid created
d1e45e2
debugger: Fix UI would not update when you select the `Current State` option (#44340)
This PR fixes that the `Current State` option inside the history dropdown does not updating the UI. This was because we didn't send the `SessionEvent::HistoricSnapshotSelected` event in the reset case. This was just a mistake. **After** https://github.com/user-attachments/assets/6df5f990-fd66-4c6b-9633-f85b422fb95a cc @Anthony-Eid Release Notes: - N/A
Remco Smits created
9da0d40
docs: Point to the right URL for Regal LSP (#44318)
Release Notes: - N/A
Kunall Banerjee created
9f344f0
docs: Point to the right URL for Astro LSP (#44314)
The original URL points to a deprecated repo. Release Notes: - N/A
Kunall Banerjee created
ef76f07
debugger: Make historic snapshot button a dropdown menu (#44307)
This allows users to select any snapshot in the debugger history feature and go back to the active session snapshot. We also change variable names to use hsitoric snapshot instead of history and move the snapshot icon to the back of the debugger top control strip. https://github.com/user-attachments/assets/805de8d0-30c1-4719-8af7-2d47e1df1da4 Release Notes: - N/A Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Remco Smits and Anthony Eid created
4577e1b
debugger: Get stack frame list working with historic snapshot feature (#44303)
This PR fixes an issue where the stack frame list would not update when viewing a historic snapshot. We now also show the right active debug line based on the currently selected history. https://github.com/user-attachments/assets/baccd078-23ed-4db3-9959-f83dc2be8309 Release Notes: - N/A --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Remco Smits and Anthony Eid created
a574ae8
debugger: Start work on adding session snapshot feature (#44298)
This PR adds the basic logic for a feature that allows you to visit any stopped information back in time. We will follow up with PRs to improve this and actually add UI for it so the UX is better. https://github.com/user-attachments/assets/42d8a5b3-8ab8-471a-bdd0-f579662eadd6 Edit Anthony: We feature flagged this so external users won't be able to access this until the feature is polished Release Notes: - N/A --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Remco Smits and Anthony Eid created
16666f5
Use single `languages::{rust_lang, markdown_lang}` in tests across the codebase (#44282)
This allows referencing proper queries and keeping the tests up-to-date. Release Notes: - N/A
Kirill Bulatov created
b2e35b5
zlog: Fix dynamic mod path filtering (#44296)
Closes #ISSUE Release Notes: - Linux: cleaned up noisy logs from `zbus`
Ben Kunkle created
9e33243
Fix unregistration logic for pull diagnostics (#44294)
Even if `workspace_diagnostics_refresh_tasks` is empty, registrations which didn't advertise support for workspace diagnostics may still exist. Release Notes: - N/A
John Tur created
a0848da
agent ui: Fix clicks on the notification sometimes not being triggered (#44280)
Closes https://github.com/zed-industries/zed/issues/43292 We were seeing clicks on the "View Panel" and "Dismiss" buttons sometimes not being triggered. I believe this was happening because the overall parent also had an on_click, which due to this being a popup window, was causing conflicts with the buttons' on click handlers. This should hopefully fix that issue. Release Notes: - agent: Fixed an issue where clicking on the agent notification buttons would sometimes not trigger their actions.
Danilo Leal created
d727467
Put tracy dependency behind feature tracy (#44277)
It broke CI, now it no longer does :tada: Proper fix followes after the weekend. Release Notes: - N/A
David Kleingeld created
0565992
project picker: Improve tooltip on secondary actions (#44264)
This PR adds the keybinding for the "open in project window" button on the project picker as well as makes the tooltip for the content bit on the active list item only show up for the content container. https://github.com/user-attachments/assets/42944cf7-e4e7-4bf8-8695-48df8b3a35eb Release Notes: - N/A
Danilo Leal created
e1d8c1a
Improve visual alignment on the inline assistant (#44265)
Just making all of the elements in the inline assistant more vertically centered. <img width="500" height="1938" alt="Screenshot 2025-12-06 at 12 02@2x" src="https://github.com/user-attachments/assets/7f9627ac-4f2d-4f93-9a7e-31c5a01c32d1" /> Release Notes: - N/A
Danilo Leal created
f08fd73
Add experimental mercury edit prediction provider (#44256)
Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Agus Zubiaga , Ben Kunkle , and Max Brunsfeld created
51b7d06
Fix a typo: to -> two (#44272)
Release Notes: - N/A
Haojian Wu created
66c7bdf
git: For conflicted files, set project diff excerpts using conflicts only (#44263)
It's just distracting having excerpts for all the successfully merged hunks. Release Notes: - git: The project diff now focuses on merge conflicts for files that have them.
Cole Miller created
363fbbf
git: Fix excerpt ranges in the commit view (#44261)
Release Notes: - N/A
Cole Miller created
9860884
gpui: Make length helpers into const functions (#44259)
Make gpui's `rems()`, `phi()`, `auto()` length related helpers into const functions. I can't see why these functions aren't already const except that it must've been overlooked when they were written? In my project I had need for rems() to be const, and I thought I'd do phi() and auto() whilst I was in the neighbourhood Release Notes: - N/A
Serophots created
4cef8eb
Fix persistence for single-file worktrees (#44257)
We were just deleting them before Co-Authored-By: Matthew Chisolm <mchisolm0@gmail.com> Closes #ISSUE Release Notes: - Fixed restoring window location for single-file worktrees Co-authored-by: Matthew Chisolm <mchisolm0@gmail.com>
Conrad Irwin and Matthew Chisolm created
e5f8773
markdown_preview: Remove unnecessary vec allocation (#44238)
Instead of allocating a one-element vec on the heap, we can just use an array here (since `Editor::edit` accepts anything that implements `IntoIterator`). I haven't checked if there are more instances that can be simplified, just accidentally stumbled upon this when working on something else in the markdown preview crate. Release Notes: - N/A
Oleksii (Alexey) Orlenko created
f4b8b0f
settings: Fix inconsistent terminal font weight step size (#44243)
Closes #44242 Release Notes: - Fixed inconsistent terminal font weight step size in settings
Mayank Verma created
5cd30e5
inline assistant: Use tools and remove insertion mode (#44248)
Co-authored by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: Danilo Leal <daniloleal09@gmail.com> Release Notes: - N/A
Michael Benfield created
a350438
Specify a schema to use when dealing with JSONC files (#44250)
Follow-up of https://github.com/zed-industries/zed/pull/43854 Closes https://github.com/zed-industries/zed/issues/40970 Seems that json language server does not distinguish between JSONC and JSON files in runtime, but there is a static schema, which accepts globs in its `fileMatch` fields. Use all glob overrides and file suffixes for JSONC inside those match fields, and provide a grammar for such matches, which accepts trailing commas. Release Notes: - Improved JSONC trailing comma handling
Kirill Bulatov created
bd6ca84
git_ui: Improve the branch picker UI (#44217)
Follow up to https://github.com/zed-industries/zed/pull/42819 and
https://github.com/zed-industries/zed/pull/44206.
- Make this picker feel more consistent with other similar pickers
(namely, the project picker)
- Move actions to the footer and toggle them conditionally
- Only show the "Create" and "Create New From: {default}" when we're
selecting the "Create" list item _or_ when that item is the only
visible. This means I'm changing here the state transition to only
change to `NewBranch/NewRemote` if we only have those items available.
- Reuse more UI code and use components when available (e.g.,
`ListHeader`)
- Remove secondary actions from the list item
Next step (in another PR), will be refine the same picker in the
smaller, panel version.
https://github.com/user-attachments/assets/fe72ac06-c1df-4829-a8a4-df8a9222672f
Release Notes:
- N/A
Danilo Leal created
f9cea5a
Fix project not getting dropped after closing window (#44237)
Bennet Bo Fenner created
3bb6c25
git_ui: Fix history view label truncation (#44218)
There's still a weird problem happening where the labels (and the label on the tab, too, for what is worth) flicker as the file history view gets smaller. I suspect that problem is related to something else—potentially the truncation algorithm or focus management—so I'm not solving it here. <img width="500" height="1948" alt="Screenshot 2025-12-05 at 11 24@2x" src="https://github.com/user-attachments/assets/25715725-e2cb-475a-bdab-f506bb75475f" /> Release Notes: - N/A
Danilo Leal created
37b0cdf
multi_buffer: Remap excerpt ids to latest excerpt in excerpt fetching (#44229)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored by: Cole Miller <cole@zed.dev>
Lukas Wirth created
d76dd86
tab_switcher: Add documentation for tab switcher (#44189)
Release Notes: - Added documentation for Tab Switcher
Dino created
b558be7
adds tracing for instrumenting non-async functions (#44147)
Tracing code is not included in normal release builds Documents how to use them in our performance docs Only the maps and cursors are instrumented atm # Compile times: current main: fresh release build (cargo clean then build --release) 377.34 secs current main: fresh debug build (cargo clean then build ) 89.31 secs tracing tracy: fresh release build (cargo clean then build --release) 374.84 secs tracing tracy: fresh debug build (cargo clean then build ) 88.95 secs tracing tracy: fresh release build with timings (cargo clean then build --release --features tracing) 375.77 secs tracing tracy: fresh debug build with timings (cargo clean then build --features tracing) 90.03 secs Release Notes: - N/A --------- Co-authored-by: localcc <work@localcc.cc>
David Kleingeld and localcc created
07fe8e9
remoting: Proxy configuration docs (#44225)
Adds an explicit section about how to configure proxies when remoting. Release Notes: - N/A
Agus Zubiaga created
b776178
agent_ui: Fix mention and slash command menu not appearing with show_completions_on_input set to false (#44222)
Addresses a regression introduced by https://github.com/zed-industries/zed/pull/44021 that caused @mentions and slash commands to stop working if you set `show_completions_on_input: false` in your settings. In this case, we should always show these menus, otherwise the features won't work at all. Release Notes: - N/A
Ben Brandt created
1d0aef6
Ensure font features are applied to styled text (#44219)
- Replace `gpui::styled::Styled.font_family()` calls with `gpui::styled::Styled.font()` when laying out inline diagnostics and inline blame, to ensure that the font's features are also used, and not just the font feature. - Update both `editor::hover_popover::hover_markdown_style` and `editor::hover_popover::diagnostics_markdown_style` to ensure that both the UI and Buffer font features are used in both markdown and diagnostics popover. Closes #44209 Release Notes: - Fixed font feature application for inline git blame, inline diagnostics, markdown popovers and diagnostics popovers
Dino created
c7ef302
remoting: Server download connect timeout (#44216)
Sometimes machines are configured to drop outbound packets (rather than reject connections). In these cases, curl/wget just hang causing our download step to never complete. This PR adds a timeout of 10s for the connection (not the whole download), so that in situations like this we can fallback to our client-side download eventually. Related to but doesn't fully fix: https://github.com/zed-industries/zed/issues/43694 and https://github.com/zed-industries/zed/issues/43718 Release Notes: - remote: Add 10s connect timeout for server download
Agus Zubiaga created
822fc7e
remote: Use last line of `uname` and shell output (#44165)
We have seen cases (see https://github.com/zed-industries/zed/issues/43694) where the user's shell initialization script includes text that ends up in the output of the commands we use to detect the platform and shell of the remote. This solution isn't perfect, but it should address the issue in most situations since both commands should only output one line. Release Notes: - remote: Improve resiliency when initialization scripts output text
Agus Zubiaga created
126d708
git: Fix branch picker creating new branches with refs/head/ prefixed on the branch name (#44206)
The bug was introduced in this recent PR: https://github.com/zed-industries/zed/pull/42819. Since it's still in nightly, there is no need for release notes. I also polished the feature a bit by: - Ensuring branch names are always a single line so the branch picker's uniform list uses the correct element height. - Adding tooltip text for the filter remotes button. - Fixing the create branch from default icon showing up for non-new branch entries. Release Notes: - N/A
Anthony Eid created
a5ab5c7
gpui: Document the leak detector (#44208)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
35da6d0
debugger: Fix evaluate selection running two evaluations & failing for Python and go (#44205)
Evaluate selection now acts as if the text was typed verbatim into the console. Closes ##33526 Release Notes: - debugger: Fixed "evaluate selection" not behaving as if the highlighted text was not typed verbatim into the console.
Piotr Osiewicz created
d6241b1
Fix infinite loop in assemble_excerpts (#44195)
Also, expand the number of identifiers fetched. Release Notes: - N/A
Max Brunsfeld created
42583c1
Reorganize edit prediction code and remove old experiments (#44187)
Release Notes: - N/A --------- Co-authored-by: Agus Zubiaga <agus@zed.dev> Co-authored-by: Ben Kunkle <ben@zed.dev>
Max Brunsfeld , Agus Zubiaga , and Ben Kunkle created
7616710
Add experimental LSP-based context retrieval system for edit prediction (#44036)
To do * [x] Default to no context retrieval. Allow opting in to LSP-based retrieval via a setting (for users in `zeta2` feature flag) * [x] Feed this context to models when enabled * [x] Make the zeta2 context view work well with LSP retrieval * [x] Add a UI for the setting (for feature-flagged users) * [x] Ensure Zeta CLI `context` command is usable --- * [ ] Filter out LSP definitions that are too large / entire files (e.g. modules) * [ ] Introduce timeouts * [ ] Test with other LSPs * [ ] Figure out hangs Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev> Co-authored-by: Agus Zubiaga <agus@zed.dev>
Max Brunsfeld , Ben Kunkle , and Agus Zubiaga created
cd8679e
Allow trailing commas in builtin JSONC schemas (#43854)
The JSON language server looks for a top-level `allowTrailingCommas` flag to decide whether it should warn for trailing commas. Since the JSONC parser for these builtin files can handles trailing commas, adding this flag to the schema also prevents a warning for those commas. I don't think there's an issue that is only for this specific issue, but it relates to *many* existing / older issues: - #18509 - #17487 - #40970 - #18509 - #21303 Release Notes: - Suppress warning for trailing commas in builtin JSON files (`settings.json`, `keymap.json`, etc.)
Ian Chamberlain created
43f977c
terminal view: Use tooltip element for the tab tooltip (#44169)
Just recently realized we don't need this custom component for it given we now have `Tooltip::element`. UI result is exactly the same; nothing changes. Release Notes: - N/A
Danilo Leal created
bdb8caa
git_ui: Fix indent guides not showing for file buffers in the commit view (#44166)
Follow up to https://github.com/zed-industries/zed/pull/44162 where my strategy for not displaying the indent guides only in the commit message was wrong given I ended up... disabling indent guides for all the buffers. This PR adds a new method to the editor where we can disable it for a specific buffer ID following the pattern of `disable_header_for_buffer`. Release Notes: - N/A
Danilo Leal created