Commit log

f07305b Remove duplicated logic to unify code paths (#48291)

Click to expand commit body
Small fix for a bug introduced in #47411
In-progress dev container creation didn't show up in modal because of a
duplicated code path. This unifies the logic and ensures that "creating
dev container" shows up while creation in progress.

Release Notes:

- Fixed modal for creating dev container

KyleBarton created

d954782 editor: Ensure that spacer blocks are visible in light themes (#48287)

Click to expand commit body
The color used for the slash pattern when rendering `Block::Spacer` was
set to a fixed color, `0xFFFFFF10`, which is almost white, making it
super hard to view in light themes, where the editor's background is
almost white.

As such, this commit updates that color so as to use something that is
more theme-specific, ensuring that it is easily visible in both light
and dark themes.

Release Notes:

- N/A

Dino created

9fbf609 ci: Temporarily disable docs deployments (#48292)

Click to expand commit body
This PR temporarily disables deployments of the docs.

There seems to be some lingering fallout from
https://www.cloudflarestatus.com/incidents/jk2mx637l9k9 that is causing
new deployments to not work.

We are rolling back to an older deployment, and are disabling deploys so
that we don't clobber the rollback.

Release Notes:

- N/A

Marshall Bowers created

1b86dbc git_ui: Hide "View on GitHub" button when viewing stashes in commit view (#48271)

Click to expand commit body
Closes #48195

Filter out `remote_info` when viewing stashes by adding `.filter(|_|
self.stash.is_none())`.


Release Notes:

- Fixed "View on GitHub" button incorrectly appearing when viewing
stashes

ᴀᴍᴛᴏᴀᴇʀ created

0952ee7 project_panel: Fix test-support feature mismatch (#48280)

Click to expand commit body
Follow-up to #46337

`project_panel` tests enable `remote/test-support` (via
`workspace`/`project`), which adds `RemoteConnectionOptions::Mock`. But
without `remote_connection/test-support`, the match arm for that variant
isn't compiled, causing a non-exhaustive match error when testing the
crate in isolation.

CI doesn't catch this because `git_ui` happens to enable
`remote_connection/test-support` during workspace-wide tests.

Release Notes:

- N/A

Smit Barmase created

13a06e6 Add detection of devcontainers in subfolders (#47411)

Click to expand commit body
Release Notes:

- Add detection of devcontainers in subfolders

---------

Co-authored-by: KyleBarton <kjb@initialcapacity.io>

Caio Piccirillo and KyleBarton created

18a3b0c Re-add deleted comment in `default.json` (#48279)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

6600154 Fix incorrect memory display in the language servers menu on Linux (#48245)

Click to expand commit body
While trying out the new feature introduced in #48226, I noticed an
issue on Linux where the reported memory usage is incorrect.

On Linux, even when using ProcessRefreshKind::nothing, thread
information is still collected. To fix this, the memory calculation
needs to explicitly exclude task/thread data by using without_tasks.

Before
<img width="544" height="186"
src="https://github.com/user-attachments/assets/438c15b2-b1f1-42df-9ffe-dea2f5b1b6ce"
/>

After
<img width="531" height="139"
src="https://github.com/user-attachments/assets/a0e5aae5-9558-4bfc-b368-8306bbc7c37e"
/>




Release Notes:

- N/A

feeiyu created

3f8bc2d languages: Add support for detecting libstdc++ headers (#48250)

Click to expand commit body
https://github.com/zed-industries/zed/pull/47443#issuecomment-3834807752

Support detect libstdc++ headers

<img width="1335" height="830"
src="https://github.com/user-attachments/assets/4a8b8376-029b-41c5-a53b-d1a02a061818"
/>


Release Notes:

- N/A

feeiyu created

f565fb8 gpui: Make entities no longer implement Element (they go through AnyElement now) (#48217)

Click to expand commit body
This reduces e.g. agent_ui's LLVM lines from 1.95m to 1.7m ( -> 56009 ->
50899).
git_ui: 1.02 -> 0.917m (30700 functions -> 27496)


Overall, anything that implements `Render` should benefit. OTOH `editor`
does not, because it has a custom `Element` impl.
Release Notes:

- N/A

Piotr Osiewicz created

92ad7c3 project_panel: Add right-click download option for folders/files stored in remote development server (#47344)

Click to expand commit body
Closes #24431 , closes #42501


https://github.com/user-attachments/assets/13ace1d7-7699-4f2b-aa97-86235008adb3

Release Notes:

- Added right click download option for folders/files stored in remote
development server

Leo created

f21a933 settings: Improve performance for internal editorconfig resolution (#48243)

Click to expand commit body
Replaces O(N) iteration over all internal configs with O(D × log N)
direct ancestor lookups, where D is path depth and N is total config
count.

Release Notes:

- N/A

Smit Barmase created

b951bd3 Fix subdirectory `.editorconfig` files being ignored in certain directory structures (#48203)

Click to expand commit body
Closes #48187

The bug occurred when iterating internal_configs (a BTreeMap sorted by
path): the code would `break` on the first non-matching path, causing
configs with lexicographically later paths to be skipped.

For example, when querying "d/d.rs" with configs ["", "b", "d"],
iteration would break at "b" (since "d/d.rs" doesn't start with "b"),
preventing "d"'s config from being applied.

This PR replaces `break` with `continue` to skip non-ancestors, and adds
a minor early-exit optimization when `config_path > for_path` since
later paths can't be ancestors.

Release Notes:

- Fixed subdirectory `.editorconfig` files being ignored in certain
directory structures

ᴀᴍᴛᴏᴀᴇʀ created

14621b6 repl: Fix cursor visibility on last line after re-running cells (#48218)

Click to expand commit body
- This also sends the cursor to block placement anchor which is the
standard thing to happen when we run cmd/ctrl + shift + enter, this is
usually used for Run and Move onto next cell.
- Perhaps the ability to stay on the same code will be tackled on
further works where not using the shift modifier would signify stay and
"just" run the cell. Like #46868

Closes #48069

Release Notes:

- Fixed cursor becoming invisible on the last line of REPL cells after
re-running

MostlyK created

602d64f Add configurable REPL output size limits (#47114)

Click to expand commit body
Closes #47113

Adds configurable REPL output size limits with two new settings,
`repl.output_max_height_lines` and `repl.output_max_width_columns`, so
large outputs scroll instead of expanding and images scale down to fit
the available space. The output containers in both inline REPL blocks
and notebook cells now respect these bounds, and image sizing uses the
same text metrics as the terminal output for consistent column-based
width calculations.

Release Notes:

- REPL output now supports configurable max height and width limits,
with large outputs scrolling and images scaling to stay within the
viewport.

Casper van Elteren created

8b86ab9 Revert "git: Fix stage/unstage failure with a large number of files (#47800)" (#48238)

Click to expand commit body
This reverts commit 839b4f1e60acd6f67e9b50f6bad5bc3284835872.

This changed caused a regression on Windows (reproducer: have a repo
with some unstaged changes to tracked files, and click `Commit
Tracked`).

cc @marcocondrache 

Release Notes:

- N/A (nightly only)

Cole Miller created

2539ac0 vim: Revert changes to search (#48127) (#48234)

Click to expand commit body
Release Notes:

- (nightly only) Fixed vim search to be regex by default

Conrad Irwin created

81c6541 Make mercury and sweep non experimental (#48227)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

8fd3b85 Migrate `features.edit_prediction_provider` to `edit_predictions.provider` (#48224)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

64a0254 ci: Generate `publish_extension_cli` with `gh_workflow` (#47890)

Click to expand commit body
This moves the extension CLI job into xtask and also extends this a bit
- whenever we now run the job, it will open PRs against this repo and
`zed-industries/extensions` to also update the SHAs there. These PRs
will be assigned to the actor that initiated the bump so they can edit
the PR as needed.

Release Notes:

- N/A

Finn Evers created

85d03d5 Use remote user from devcontainer CLI and respect shell in passwd (#48230)

Click to expand commit body
Closes #46252

Uses the `remoteUser` property returned from the devcontainer CLI so
that settings are respected. Additionally, checks for a default shell in
`passwd` if `$SHELL` is not set.

Release Notes:

- Fixed remote_user and shell inconsistencies from within dev containers

KyleBarton created

7b9beb3 Show memory used by language servers (#48226)

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

<img width="575" height="131" alt="image"
src="https://github.com/user-attachments/assets/aaad583c-277c-4a84-b2ce-a18b8b38bc0e"
/>

Release Notes:

- The language servers menu now shows the memory used by each language
server.

John Tur created

478ca3a block_map: Consolidate all companion-related refs into a single CompanionView (#48223)

Click to expand commit body
Release Notes:

- N/A

--

I think it's possible to clean this up further but will withhold until
we land bits necessary to correctly align split view in presence of
custom blocks.

Jakub Konka created

68b2cb3 Fix capitalization of libX11 in FreeBSD dependencies (#48159)

Click to expand commit body
This work :
> doas pkg install lib**X**11

Release Notes:

- N/A

ChtiMacFly created

b96f1c4 Add `sweep_ai` privacy mode setting (#48220)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

b62d73e Add tool security rules that can't be overridden by settings (#48209)

Click to expand commit body
This change introduces hardcoded security rules for the terminal tool
that cannot be bypassed by any setting, including
`always_allow_tool_actions`.

## Currently Blocked Commands

- `rm -rf /` - Recursive deletion of root filesystem
- `rm -rf ~` - Recursive deletion of home directory

These rules are checked **before** the `always_allow_tool_actions`
global flag, ensuring they can never be bypassed. The rules also check
parsed sub-commands, so `ls && rm -rf /` is also blocked.

Release Notes:
- Certain known-bad tool uses are now automatically blocked, such as the
terminal tool attempting to run `rm -rf /` or `rm -rf ~`

Richard Feldman created

f0594e0 settings_ui: Make it so settings links open sub pages (#48212)

Click to expand commit body
Closes #ISSUE

Release Notes:

- Fixed an issue where opening a link to a settings item that involved a
sub page would not open the sub page

Ben Kunkle created

1ac0b77 toolchain: Include rust-src in the rust-toolchain components (#48210)

Josh Robson Chase created

eae101f Revert "rust: Highlight enum variants as variant" (#48211)

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

Rationale:
https://github.com/zed-industries/zed/pull/47918#issuecomment-3837291864

Max Brunsfeld created

571ea7c extension_api: Improve documentation for `make_file_executable` (#48198)

Click to expand commit body
Extension authors frequently guard this method in their extensions
although this is not necessary.

Thus, this PR updates the documentation of `make_file_executable` with a
brief mention to indicate that this is not needed.

Release Notes:

- N/A

Finn Evers created

9867f16 edit prediction: Drop project state after a project goes away (#48191)

Click to expand commit body
Closes #48097

Release Notes:

- Fixed Copilot instances not being cleared up after their window is
closed.
- Copilot edit prediction provider now respects `disable_ai` setting.

Piotr Osiewicz created

162f3ef Fix issues with predicted cursor positions (#48205)

Click to expand commit body
Release Notes:

- N/A

---------

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

Max Brunsfeld and Zed Zippy created

64829e9 Add `ep truncate-patch` command to prepare commits evalset (#48204)

Click to expand commit body
Release Notes:

- N/A

Oleksiy Syvokon created

a5e15da Add completions to rate prediction modal for common failure modes (#48199)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

c06847e language: Avoid cloning of the previous tree_sitter::Tree (#48197)

Click to expand commit body
The parsing text function used the old tree only as a ref so it doesn't
make sense to clone it.

Release Notes:

- N/A

Marco Mihai Condrache created

174fc51 Added support for dismissing the toolchain path selector via `esc` (#48201)

Click to expand commit body
Release Notes:

- Added support for dismissing the toolchain path selector via `esc`.

Joseph T. Lyons created

324edc1 git_ui: Fix indent guide rendering in tree view with collapsed folders (#48194)

Click to expand commit body
The indent guide computation was using visible list indices directly to
access entries, instead of mapping through `logical_indices` first. This
caused incorrect depths to be read from hidden entries when a folder was
collapsed, resulting in stray vertical lines extending to unrelated folders.

Closes #48189 

Release Notes:

- Fixed a visual bug in the Git Panel where collapsing a folder in tree
view would cause indent guide lines to incorrectly extend to unrelated
folders below it.

Dino created

fa0db76 Fix SSH reconnection message (#48190)

Click to expand commit body
Closes #34531

Release Notes:

- N/A

localcc created

70c47e9 markdown: Fix markdown table selection hit testing (#47720)

Click to expand commit body
Release Notes:

- Fixed markdown table selection hit testing

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>

Xiaobo Liu created

a1558bc ep_cli: Integrate `ep qa` and `ep repair` into core `ep` loop (#47987)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

f0c165a vim: Refactor vim search settings test (#48165)

Click to expand commit body
Release Notes:

- N/A

---------

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Co-authored-by: Kirill Bulatov <kirill@zed.dev>

Xiaobo Liu and Kirill Bulatov created

45455db gpui: Reduce amount of monomorphizations taking place (#48014)

Click to expand commit body
Re-lands #3266 after recent scheduler changes

Back-of-napkin calculation: editor tests (build) went from 32s to 17s.

Release Notes:

- N/A

Piotr Osiewicz created

4c0e348 keymaps: Fix accept edit predictions key binding collisions (#48184)

Click to expand commit body
Release Notes:

- Fixed accepting next word and next line edit prediction keybindings
colliding cursor movement keybinds

Lukas Wirth created

cfbf6eb nix: Use flake-parts, partitions, and treefmt-nix (#45321)

Click to expand commit body
Release Notes:

Refactored:
- Use [flake-parts](https://flake.parts/index.html) modules
- `nix/shell.nix` -> `nix/modules/devshells.nix`

Added:
- Use
[flake-parts.partitions](https://flake.parts/options/flake-parts-partitions.html)
to isolate dev dependencies so that flakes that use `zed-editor` don't
fetch dev-only inputs such as `treefmt-nix`
- [treefmt-nix](https://github.com/numtide/treefmt-nix)
  - nixfmt
  - rustfmt

Fixed:
- `shell.nix` and `default.nix` fetching `flake-compat` from
`flake.lock` which added an extra and unnecessary input/dependency to
`flake.nix`. Fixed by setting a fixed rev and sha256 instead.
- `nixfmt-rfc-style` is deprecated and is now `nixfmt`
- Fixes #45338 by using rust-overlay toolchain directly
  - Previously, the devShell included `rustup` which caused slow startup
times as Nix would build rustup from source (including running its test
suite). Additionally, rust tooling (cargo, rustfmt, clippy,
rust-analyzer) wasn't available in the dev shell.
- cargo, rustc, and rust-toolchain.toml components included in
`rustToolchain`

Chore:
- Update `flake.lock`
- Format Rust code with `rustfmt` via `treefmt-nix`

---------

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

Diego Perez and Jakub Konka created

a4fe57d Fix vim method/comment navigation with expanded diff hunks (#47976)

Click to expand commit body
Previously, `]m`/`[m` (method) and `]/`/`[/` (comment) motions would
navigate to incorrect positions when diff hunks were expanded. This was
caused by extracting raw `usize` values from `MultiBufferOffset` and
operating directly on the underlying buffer, which doesn't account for
expanded diff hunk content.

The fix properly uses `MultiBufferOffset` throughout and queries
`text_object_ranges` on the `MultiBufferSnapshot` instead of the
underlying buffer, ensuring correct coordinate mapping when diff content
is displayed inline.

Fixes #46612

Release Notes:

- Fixed vim method and comment navigation (`] m`, `[ m`, `] shift-m`, `[
shift-m`, `] /`, `[ /`) incorrectly positioning cursor when diff hunks
are expanded

---------

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

lex00 , Claude Opus 4.5 , and dino created

be8842b agent_ui: More refactors (#48186)

Click to expand commit body
Release Notes:

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

---------

Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>

Cameron Mcloughlin , Ben Brandt , and Bennet Bo Fenner created

9c3ae09 Improve icon selection for edit prediction providers (#47911)

Click to expand commit body
Release Notes:

- N/A

---------

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

versecafe and Danilo Leal created

e99c11d build: Decouple git_ui from recent_projects (#48062)

Click to expand commit body
- **git_ui: Decouple git_ui from the recent_projects crate**
- **Move git_ui closer to editor**

Release Notes:

- N/A

Piotr Osiewicz created

e74ceba agent_ui: Disable "Copy Selection" when no text is selected (#47997)

Click to expand commit body
Release Notes:

- Agent: Improved the "Copy Selection" right-click menu item by
disabling it when there are no selections.

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>

Xiaobo Liu created

33fbc71 docs: Document visual mode bindings for multi-line insert/append (#48156)

Click to expand commit body
Closes #44420 

Added instructions and example keybindings to enable multi-cursor insert
(`shift-i`) and append (`shift-a`) actions in visual mode, making it
easier for users to perform these actions on multiple lines
simultaneously.

Release Notes:

- N/A

---------

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

Artem Molonosov and Kunall Banerjee created