Commit log

692bf30 docs: Add documentation for `auto_update_extensions` (#46130)

Click to expand commit body
Add documentation for the existing `auto_update_extensions` setting that
allows users to toggle auto-updates per extension.

Release Notes:
- N/A

---------

Co-authored-by: Kunall Banerjee <hey@kimchiii.space>

Adrian and Kunall Banerjee created

49e4102 project: Fix organize imports action not working for Python (#45874)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/26819

Explained in
https://github.com/zed-industries/zed/issues/26819#issuecomment-3399175027
That action is now the default on format in
https://github.com/zed-industries/zed/pull/41103 since October, but
applying manually is still broken.

Release Notes:

- Fixed an issue where the `editor: organize imports` action didn’t work
for Python, even though imports were organized correctly during
formatting.

Abdelhakim Qbaich created

a1bacce agent: Remove extraneous character in `system_prompt` template (#46238)

Click to expand commit body
Release Notes:
- N/A

---------

Co-authored-by: Kunall Banerjee <hey@kimchiii.space>

Bo He and Kunall Banerjee created

55dc348 Autofix run cargo machete --fix too (#46232)

Click to expand commit body
Release Notes:

- N/A

Conrad Irwin created

6b90aaa status_bar: Add encoding indicator (#45476)

Click to expand commit body
## Context / Related PRs This PR is the third part of the encoding
support improvements, following:
- #44819: Introduced initial legacy encoding support (Shift-JIS, etc.).
- #45243: Fixed UTF-16 saving behavior and improved binary detection.

## Summary
This PR implements a status bar item that displays the character
encoding of the active buffer (e.g., `UTF-8`, `Shift_JIS`). It provides
visibility into the file's encoding and indicates the presence of a Byte
Order Mark (BOM).

## Features
- **Encoding Indicator**: Displays the encoding name in the status bar.
- **BOM Support**: Appends `(BOM)` to the encoding name if a BOM is
detected (e.g., `UTF-8 (BOM)`).
- **Configuration**: The active_encoding_button setting in status_bar
accepts "enabled", "disabled", or "non_utf8". The default is "non_utf8",
which displays the indicator for all encodings except standard UTF-8
(without BOM).
- **Settings UI**: Provides a dropdown menu in the Settings UI to
control this behavior.
- **Documentation**: Updated `configuring-zed.md` and
`visual-customization.md`.

## Implementation Details
- Created `ActiveBufferEncoding` component in
`crates/encoding_selector`.
- The click handler for the button is currently a **no-op**.
Implementing the functionality to reopen files with a specific encoding
has potential implications for real-time collaboration (e.g., syncing
buffer interpretation across peers). Therefore, this PR focuses strictly
on the visualization and configuration aspects to keep the scope simple
and focused.
- Updated schema and default settings to include
`active_encoding_button`.

## Screenshots

<img width="487" height="104" alt="image"
src="https://github.com/user-attachments/assets/041f096d-ac69-4bad-ac53-20cdcb41f733"
/>
<img width="454" height="99" alt="image"
src="https://github.com/user-attachments/assets/ed76daa2-2733-484f-bb1f-4688357c035a"
/>


## Configuration
To hide the button, add the following to `settings.json`:
```json
"status_bar": {
  "active_encoding_button": "disabled"
}
```

- **enabled**: Always show the encoding.
- **disabled**: Never show the encoding.
- **non_utf8**: Shows for non-UTF-8 encodings and UTF-8 with BOM. Only
hides for standard UTF-8 (Default).

<img width="1347" height="415" alt="image"
src="https://github.com/user-attachments/assets/7f4f4938-3320-4d21-852c-53ee886d9a44"
/>

## Heuristic Limitations:
The underlying detection logic (implemented in #44819 and #45243)
prioritizes UTF-8 opening performance and does not guarantee perfect
detection for all encodings. We consider this margin of error
acceptable, similar to the behavior seen in VS Code. A future "Reopen
with Encoding" feature would serve as the primary fallback for any
misdetections.

Release Notes:

- Added a status bar item to display the active file's character encoding (e.g. `UTF-16`). This shows for non-utf8 files by default and can be configured with `{"status_bar":{"active_encoding_button":"disabled|enabled|non_utf8"}}`

Ichimura Tomoo created

7274a96 Revert "agent_ui: Fix agent UI stealing focus on start up" (#46231)

Click to expand commit body
Reverts zed-industries/zed#46088

This also made the new thread action no longer focus so this wasn't the
right way to address this

Lukas Wirth created

f4aad4b Improve visual test runner: consolidate setup, add constants, remove dead code (#46217)

Click to expand commit body
Just some code cleanup to improve the tests - make them better exemplars
for future use.

Release Notes:

- N/A

Richard Feldman created

8f961a4 gpui: Make all foreground tasks drop when the app dies (#46219)

Click to expand commit body
This expands the liveness check to cover all foreground tasks that don't
take the app as a context (as some of their internal futures might.)

Release Notes:

- N/A

Mikayla Maki created

67e2a23 Fix coalescing of multi-line edits (#46220)

Click to expand commit body
I was seeing some surprising un-coalesced edits in the edit history when
looking at captured examples. I realized that we were only coalescing
based on the *ends* of edit ranges, but I think we want to combine hunks
where there are 8 or less unchanged lines in between changes. This PR
implements that.

Release Notes:

- N/A

Max Brunsfeld created

09ce318 Add a GPUI testing example (#46215)

Click to expand commit body
Had some trouble in a PR with missing a test API change until deep into
a refactor. Decided to move some example tests into the GPUI repo to put
those through their paces, and got carried away and made a big test
example file demonstrating all the testing features we have.

Release Notes:

- N/A

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>

Mikayla Maki and Claude Opus 4.5 created

3387021 lsp: Refresh `textDocument/diagnostic` on `workspace/diagnostic/refresh` (#45365)

Click to expand commit body
Per LSP spec, when receiving `workspace/diagnostic/refresh`, clients
should refresh all pulled diagnostics including both workspace and
document diagnostics[^1]. Previously, only workspace diagnostics were
refreshed.

[^1]:
https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#diagnostic_refresh

This adds `pull_document_diagnostics_for_server()`, which refreshes
`textDocument/diagnostic` for all open buffers associated with the
given language server.

Closes #ISSUE

Release Notes:

- When handling `workspace/diagnostic/refresh`, Zed now also sends new
`textDocument/diagnostic` requests for open files, aligning with the LSP
specification.

---------

Co-authored-by: John Tur <john-tur@outlook.com>

Shuhei Kadowaki and John Tur created

ff73a91 Make all paths relative in captured EP examples (#46213)

Click to expand commit body
I also added debug events for Sweep edit predictions so that we can see
the API response for "no prediction" events when running evals.

Release Notes:

- N/A

Max Brunsfeld created

b5ac0f9 Render images in agent threads (#46167)

Click to expand commit body
Now when the agent reads images (which the tool now explicitly
advertises to agents that it is capable of; previously the tool said it
could only read text even though it can actually read images), we see
them in the thread, and also they are auto-expanded by default so you
can see them when scrolling through:

<img width="725" height="1019" alt="Screenshot 2026-01-06 at 2 57 11 PM"
src="https://github.com/user-attachments/assets/5c908bad-48f2-46c2-afaa-7f189a178e05"
/>

This also adds a visual regression test that verifies images render
correctly in the agent thread view.

Unlike our previous visual tests, this one only renders the agent panel,
not the entire Zed window.

The "screenshot" it generates (rendered to a Metal texture) is from
completely mocked/simulated data structures, and looks like this:

<img width="546" height="984" alt="Screenshot 2026-01-06 at 2 54 41 PM"
src="https://github.com/user-attachments/assets/89a0921f-59e9-4dfe-94b2-4c3b625a851b"
/>

## Changes

- **New visual test**: `agent_thread_with_image` renders an
`AcpThreadView` containing a tool call with image content (the Zed app
icon)
- **Test infrastructure**: Added `StubAgentServer` helper and required
feature flags for visual testing
- **Test-support API**: Added `expand_tool_call()` method to
`AcpThreadView` to allow expanding tool calls for visual testing
- **Baseline screenshot**: Included baseline image showing the Zed logo
rendered in a tool call output

## How to run

```bash
# Run the visual tests
cargo run -p zed --bin visual_test_runner --features visual-tests

# Update baselines if UI intentionally changed  
UPDATE_BASELINE=1 cargo run -p zed --bin visual_test_runner --features visual-tests
```

Release Notes:
- N/A

---------

Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Co-authored-by: Amp <amp@ampcode.com>

Richard Feldman , Zed Zippy , and Amp created

c764f78 Add clear filter button to outline and collab panels' search (#46210)

Click to expand commit body
Always missed the ability to clear the search without having to reach
for my keyboard if I'm on a mouse-first workflow:

<img width="460" height="390" alt="Screenshot 2026-01-06 at 9  27@2x"
src="https://github.com/user-attachments/assets/fda4650c-72fb-4b5b-92f6-7c69661507f8"
/>

Release Notes:

- Added a button to clear the search query for the collab and outline
panels' search bar.

Danilo Leal created

4e28080 extension_ci: Be more explicit with version bump (#46208)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/46175

I had very much hoped for bump2version to do this by default, well, left
here disappointed I suppose

Release Notes:

- N/A

Finn Evers created

f3e5e3e repl: Add inlay repl output display, skip empty lines on execution, and gutter execution display (#44523)

Click to expand commit body
Adds various useful things to the repl inspired by ipynb and the julia
vscode extension which can be best seen with this video:


https://github.com/user-attachments/assets/6589715e-3783-456c-8f4b-e2d5a1c4090d

To summarize:

## Inline outputs
Added small, single-line outputs displayed inline at the end of the code
line instead of in a separate block. This provides a cleaner, more
compact view for simple results like numbers or short strings. This
occurs for execution views who only output a single mimetype/plain OR
output nothing, otherwise the default behavior of creating a block will
occur.

It looks like this: 
<img width="258" height="35" alt="image"
src="https://github.com/user-attachments/assets/ccdeca3f-c3b7-4387-a4de-53d8b9a25132"
/>
or with a Output
<img width="346" height="55" alt="image"
src="https://github.com/user-attachments/assets/0b4effc9-1bd7-4e8c-802f-8733cdcc77d1"
/>
This was inspired by julia vscode extension, but now it can be used with
any replanguage! Hooray!


<img width="524" height="450" alt="image"
src="https://github.com/user-attachments/assets/a3551e51-f5f7-4d3e-994a-213c9d2f948c"
/>

It saves lots of space compared to the ugly and distracting:
<img width="531" height="546" alt="image"
src="https://github.com/user-attachments/assets/7cf65bae-8ec1-4279-ab19-f0d4ec4052a2"
/>


## Gutters and execution numbers
Added gutters + execution number to display exactly what was executed.
The gutter highlighting is useful for when selecting multiple cells
manually to run, but you dont remember which ones

Ran at different times:
<img width="257" height="58" alt="image"
src="https://github.com/user-attachments/assets/6002ab16-156a-4598-9964-5a6b188e989c"
/>
Ran together:
<img width="306" height="64" alt="image"
src="https://github.com/user-attachments/assets/2690ea35-2bd3-4207-b039-6c0f98dad6e4"
/>

The execution number is useful in the same way that a normal jupyter
notebook execution number is useful.

If a gutter-region does not have a block assigned to it, when you edit
the text in the gutter region, the gutter will disappear, which is
useful for telling when you have modified your code, but does not delete
useful experiment results in blocks:

<img width="280" height="38" alt="image"
src="https://github.com/user-attachments/assets/d7f29224-87e4-4c14-8d9f-41cb10ab5009"
/>
<img width="254" height="31" alt="image"
src="https://github.com/user-attachments/assets/586c9e1d-f53c-4973-affb-c8ca05a7563b"
/>
<img width="264" height="29" alt="image"
src="https://github.com/user-attachments/assets/f306c364-1c92-44bd-9050-ecce1b7822a0"
/>
 
## Skip empty line
This is a minor fix which is intended to make lab workflow less tedious.
Currently when you execute on an empty line (which might be there for
formatting purposes) nothing will occur. This PR adds the ability to,
when executing from an empty line, skip ahead the range of inclusion
until you reach actual code, and then execute.

Before:
```
code //run execute
//empty space, so you have to move your cursor down or use arrow key
code //run execute
code //run execute
```
After:
```
code //run execute
//empty space, you can now run execute on it and it will include the next line of code
//empty space
code //automatically executed
code //run execute
```

Currently the only piece of tested code is related to this, i still have
to write tests for the gutter annotation api i added and all of the
gutter + inline related code. Also still have to add more config for
this stuff.

@rgbkrk would appreciate a review :D

Closes #22678

Release Notes:

- repl: Added an inline display of execution results (as opposed to the
large execution view) for simple REPL cells
- repl: Improved how execution of empty lines are handled
- repl: Added gutter execution display

Matt Lui created

c38dc0a Fix stale pull diagnostics for open buffers (#46201)

Click to expand commit body
Release Notes:

- N/A

John Tur created

189241b collab: Remove invite-related columns from `users` table (#46202)

Click to expand commit body
This PR removes the invite-related columns from the `users` table for
the test database schemas.

Release Notes:

- N/A

Marshall Bowers created

f3c0208 Add sweep acceptance tracking (#46199)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A *or* Added/Fixed/Improved ...

Ben Kunkle created

8ca6381 Fix some issues with edit prediction CLI (#46197)

Click to expand commit body
* Added `--repo` and `--name` flags for running only examples with a
specific name, or repo (substring matching)
* Fixed a race condition that caused hangs when running multiple
examples at the same repo and sha
* Fixed a bug where scoring was completely wrong because I had passed
the arguments to `apply_diff_to_string` in the wrong order
* The current evals now run quickly and without errors.

Release Notes:

- N/A

Max Brunsfeld created

f0e0213 ep cli: Fix finalize counter (#46198)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

6070b30 ep cli: Create entries from new files in edit history (#46196)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

5be7d6f ep cli: Refresh cursor path entry (#46195)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

a8bc84c ep cli: Include cursor file in errors (#46192)

Click to expand commit body
Errors now include the cursor file path so we can just cmd+click it for
inspection

Release Notes:

- N/A

Agus Zubiaga created

3da9269 Add agent thread sharing (#46140)

Click to expand commit body
Staff only ship for now

Here's the agent planning doc that guided this:
https://gist.github.com/mikayla-maki/c826b7997bd85b58273c1def9397940b

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Mikayla Maki and Marshall Bowers created

8df2789 languages: Fix C/C++ outline for mixed storage classes and type qualifiers (#46135)

Click to expand commit body
Current tree sitter configuration for the outline was not working
correctly since the rule required a strict order, firstly
storage_class_specifier then type_qualifier. This resulted in a failure
to recognize types such as "constexpr int", "const double", etc. This PR
proposes a solution with diagnostic capture of type and storage
qualifiers which ensures full context capture and works well with C++.


Before:
<img width="924" height="365" alt="before"
src="https://github.com/user-attachments/assets/d4e0baab-b074-42fc-8a45-46c93d1d352b"
/>

After:
<img width="866" height="367" alt="after"
src="https://github.com/user-attachments/assets/0e69a4d8-fd91-44b3-bc7e-0c9e39b23d2e"
/>


Release Notes:

- Fixed outline configuration for C++ variables with complex specifiers.

ozacod created

dea9d13 languages: Support enum class/struct in outline in C++ (#46121)

Click to expand commit body
Before:
<img width="964" height="318" alt="before"
src="https://github.com/user-attachments/assets/946b1997-5e63-4d8c-8468-b6a93e73efa3"
/>

After:
<img width="981" height="335" alt="after"
src="https://github.com/user-attachments/assets/177e1734-518f-4686-bd04-0015f486c421"
/>

Release Notes:

- Fixed missing enum class struct at outline panel for C++

ozacod created

658d419 languages: Add union field declarations to outline in C++ (#46127)

Click to expand commit body
Before:
<img width="609" height="220" alt="before"
src="https://github.com/user-attachments/assets/2bc10b8c-ecc5-419b-825b-5b7c8440b89b"
/>

After:
<img width="689" height="169" alt="after"
src="https://github.com/user-attachments/assets/ff3de33e-f71c-4fe7-b1ef-df79d935667d"
/>

Release Notes:

- Fixed outline members outline issue of unions for C++

ozacod created

c2b1b9a Update Rust crate rsa to v0.9.10 [SECURITY] (#46181)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [rsa](https://redirect.github.com/RustCrypto/RSA) |
workspace.dependencies | patch | `0.9.9` → `0.9.10` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

### GitHub Vulnerability Alerts

####
[GHSA-9c48-w39g-hm26](https://redirect.github.com/RustCrypto/RSA/security/advisories/GHSA-9c48-w39g-hm26)

When creating a RSA private key from its components, the construction
panics, instead of returning an error, when one of the primes is `1`.

Discovered by Christian Reitter from [Radically Open
Security](https://www.radicallyopensecurity.com/) during a security
review for [Proton AG](https://proton.me/).

---

### Release Notes

<details>
<summary>RustCrypto/RSA (rsa)</summary>

###
[`v0.9.10`](https://redirect.github.com/RustCrypto/RSA/compare/v0.9.9...v0.9.10)

[Compare
Source](https://redirect.github.com/RustCrypto/RSA/compare/v0.9.9...v0.9.10)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "" in timezone America/New_York,
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi42OS4xIiwidXBkYXRlZEluVmVyIjoiNDIuNjkuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

cf52052 collab: Update test database schema (#46180)

Click to expand commit body
This PR updates the test database schema for the Collab tests.

These recently-added columns got missed in the last schema dump.

Release Notes:

- N/A

Marshall Bowers created

167970b Rename visual_test_runner to zed_visual_test_runner (#46171)

Click to expand commit body
This fixes the auto-update failure by ensuring cargo-bundle picks 'zed'
as the first binary.

**Problem:** `cargo metadata` returns binaries alphabetically, so
`visual_test_runner` was coming before `zed`. When cargo-bundle looks
for the first binary to bundle (without `--bin`), it was picking
`visual_test_runner` - which doesn't exist in release builds because it
requires the `visual-tests` feature.

The previous fix (#46163) added `--bin zed` to explicitly select the
binary, but this caused cargo-bundle to use the binary name ('zed')
instead of the bundle metadata name ('Zed Nightly'), breaking
auto-updates.

**Fix:** Rename the binary to `zed_visual_test_runner` so it comes after
`zed` alphabetically. This restores the original bundle script behavior
that has worked for years.

Also reverts the `--bin zed` workaround from #46163.

Release Notes:

- N/A

Richard Feldman created

114bc69 ep: Support both full paths and relative paths in examples (#46177)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>

Agus Zubiaga , Max Brunsfeld , and Oleksiy Syvokon created

61175fc ep: Always collect for staff (#46176)

Click to expand commit body
Release Notes:

- N/A

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>

Agus Zubiaga , Max Brunsfeld , and Oleksiy Syvokon created

b196831 vim: Maintain end-of-line intent after $ with vertical motions (#45375)

Click to expand commit body
Closes #45340

Release Notes:

- Fixed $ motion in vim mode to stay at end of the line when moving
vertically

---------

Co-authored-by: dino <dinojoaocosta@gmail.com>

Mayank Verma and dino created

f057d46 Remove implicit dependency on Node env for data_dir devcontainer CLI (#45589)

Click to expand commit body
Closes #45058

Release Notes:

- Fixed implicit dependency on a system `node` for running
devcontainers.

KyleBarton created

d3c836d agent_ui: Show parameters when agent asks for permission to run tool (#45931)

Click to expand commit body
Closes #37307
Follow up to #40042

This will allow users to see the tool input before accepting a tool
call.

<img width="616" height="99" alt="image"
src="https://github.com/user-attachments/assets/3bcfda1e-bf84-4810-859d-ea53b3b33349"
/>

After clicking on "View Raw Input":
<img width="606" height="199" alt="image"
src="https://github.com/user-attachments/assets/cd89344a-80c4-41c7-a9d9-61c8671a6355"
/>


Release Notes:

- agent: Show tool call parameters when agent asks for confirmation to
run tool

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Bennet Bo Fenner and Danilo Leal created

efeea79 Edit prediction changes (#46169)

Click to expand commit body
1. Handle diffs with no trailing new lines 
2. ep: Don't assume workdir name in edit history paths
3. Fix `imitate_human_edits()` for pure insertions

Release Notes:

- N/A

---------

Co-authored-by: Agus Zubiaga <agus@zed.dev>

Oleksiy Syvokon and Agus Zubiaga created

9d05577 auto_update_ui: Add error fallback for viewing release notes locally (#45900)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/42140

Changes:

- Add show_view_release_notes_locally_error to prompt users when the
operation fails.

<img width="1536" height="864" alt="image"
src="https://github.com/user-attachments/assets/265bbf7e-6931-4559-99b2-7c1d8fbcd6cc"
/>

Release Notes:

- Added a notification with a link to view release notes online when Zed
can’t load them locally.

---------

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>

CodingDoll and Smit Barmase created

44b6995 signature_help: Fix crash when typing CJK in debug mode (#45785)

Click to expand commit body
in release mode: found many log error as `ERROR [rope::chunk] byte index
48 is not a char boundary; it is inside ',' (bytes 46..49)`

This is easy testing,
- enable signature help
- typing any CJK character
- crash in debug mode

Release Notes:

- N/A

CharlesChen0823 created

4f59ec0 Prevent app naps during audio playback on macOS (#46128)

Click to expand commit body
Release Notes:

- Fixed an issue on macOS where audio playback would become temporarily
scrambled when doing lots of IO operations, such as when running `git
pull` or `git checkout` while in a call.

Max Brunsfeld created

61eed8c Fix nightly bundle (#46163)

Click to expand commit body
The visual_test_runner binary (added in #45259) has `required-features =
["visual-tests"]`, so it doesn't get built in release builds. However,
`cargo bundle` was trying to bundle all binaries defined in the zed
crate's Cargo.toml, causing it to fail when visual_test_runner doesn't
exist.

Adding `--bin zed` tells cargo bundle to only bundle the main zed
binary.

**Note:** The `cli` binary is unaffected by this change - it's a
separate package (`crates/cli`) that's built separately via `cargo build
--package cli` and manually copied into the app bundle afterward (line
337). It was never part of `cargo bundle`'s scope.

Fixes the nightly build failure:
https://github.com/zed-industries/zed/actions/runs/20740971838

Release Notes:

- N/A

Richard Feldman created

c32abbd vim: Fix `:g/pattern/norm commands` applying on all matches (#43352)

Click to expand commit body
Closes #36359

Release Notes:

- Fixes bug where `:g/pattern/norm commands` would only apply on the
last match

---------

Co-authored-by: dino <dinojoaocosta@gmail.com>

AidanV and dino created

9a50bd4 Add helix match surround operations (#44317)

Click to expand commit body
Partially addresses #38151

Release Notes:

- Added Helix match surround operations

Leon Qadirie created

dc40f21 editor: Fix ctrl+drag/drop to duplicate selected text (#45611)

Click to expand commit body
Holding control while dragging text to copy it was being blocked by link
handling stopping the propogation of the mouse event; solution: don't
handle link clicks when selection_drag_state is Dragging.

Issue found & fix tested on Linux (since the modifier key on mac is
apparently different, the issue likely doesn't occur there, but I'm
assuming it does apply to Windows).

I didn't see an issue open for it, and since I fixed it myself I'm
unsure whether it needs one or if the PR is enough.

Release Notes:

- Fix an issue where Ctrl+drag to duplicate selected text on Linux and
Windows when the selection is inside a link.

David Budke created

92b0f14 Changes to make `ep split-commits` work (#46160)

Click to expand commit body
1. `apply_diff` will create a file if the diff says so (by starting with
`--- /dev/null`)
2. Update examples format to match recent changes
3. `ep split-commits` can work with a stream of inputs and generate `n`
samples per input
4. Unicode handling fixes

Release Notes:

- N/A

Oleksiy Syvokon created

8829f1d lsp: Add `detail` to completion resolvable properties (#45985)

Click to expand commit body
Previously, `detail` was not included in resolvable properties, which
prevented LSP-compliant servers from lazily resolving it.

In relation to this, I also investigated vtsls issues:
- https://github.com/yioneko/vtsls/issues/213
- https://github.com/zed-industries/zed/pull/21521

My conclusion is that regardless of whether Zed registers `detail` in
resolvable properties, vtsls always lazily resolves `detail`. However, I
understand that Zed's `resolve_completions` has been improved to handle
such "misbehaving" servers gracefully already, so I expect that adding
`detail` to resolvable properties will not cause any issues.

In fact, since Zed can lazy update all properties of completion items,
it might be appropriate to include all properties as resolvable except
for `label` (which is explicitly tested for consistency) and `data`
(which is used for resolution itself once).
However, since I'm uncertain if this is entirely correct, this commit
only adds `detail` to resolvable properties, as it was required to be
supported by LSP clients up to version 3.16.

Closes #ISSUE

Release Notes:

- N/A

Shuhei Kadowaki created

07f9d9d git: Respect upstream branch name when pushing (#46158)

Click to expand commit body
Closes #46119

Release Notes:

- Fixed git push to respect the upstream branch name instead of defaulting to the local branch name.

ᴀᴍᴛᴏᴀᴇʀ created

6e21fa9 project: Fix LSP requests failing for remotes for builtin servers (#46156)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/45928

Release Notes:

- Fixed builtin python language servers not correctly working on ssh
remotes

Lukas Wirth created

583a479 ep cli: Load captured examples from Snowflake (#46102)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

216933f Multibuffer breadcrumbs toolbar redesign (#45547)

Click to expand commit body
Breadcrumb visual reorchestration which makes a couple of key changes:
- Breadcrumbs are now displayed in file headers for multibuffer views.
Singleton buffers are unchanged.
- Multibuffer views now have collapse/expand all buttons available in
the toolbar
- Search in multibuffer views now takes up less space, by occupying the
primary toolbar location erstwhile taken up by breadcrumbs

<img width="1721" height="823" alt="Screenshot 2025-12-22 at 4 15 41 PM"
src="https://github.com/user-attachments/assets/38e924f7-fe9e-4c83-84fb-2eee98137f43"
/>

<img width="1722" height="762" alt="Screenshot 2025-12-22 at 4 15 51 PM"
src="https://github.com/user-attachments/assets/ccc98ca3-75ce-4aca-bceb-890817b0f04d"
/>


Release Notes:

- Moved breadcrumbs to file headers in multibuffer views
- Added collapse/expand all options for multibuffer views
- Improved use of space for multibuffer search by taking the place of
the former breadcrumb toolbar location

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>

KyleBarton , Danilo Leal , and Zed Zippy created