Commit log

963204c settings ui: Add new batch of settings (#39650)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

f6f11eb Avoid spawning external agent process when AI is disabled at startup (#39649)

Click to expand commit body
Closes #39645 

Release Notes:

- Fixed external agent servers sometimes being spawned when Zed started
even when AI was disabled.

Cole Miller created

c1e9171 settings_ui: Language settings UI (#39640)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

a2a7bd1 Remove cx from ThemeSettings (#38836)

Click to expand commit body
Before this change the active theme and icon theme were retrofitted onto
the ThemeSettings.

Now they're in their own new global (GlobalTheme::theme(cx) and
GlobalTheme::icon_theme(cx))

This lets us remove cx from the settings traits, and tidy up a few other
things along the way.

Release Notes:

- N/A

Conrad Irwin created

4de13e0 askpass: Fix cli path when executed in a remote server (#39475)

Click to expand commit body
Closes #39469
Closes #39438
Closes #39458

I'm not able to test it, i would appreciate if somebody could do it. I
think this bug was present also for SSH remote projects

Release Notes:

- Fixed an issue where zed bin was not found in remote servers for
askpass

---------

Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>

Marco Mihai Condrache created

e680dfb git_ui: Update project diff more aggressively (#39642)

Click to expand commit body
This fixes a regression in #39557--for the project diff, we rely on
getting an event when a path inside a git repository changes, even if
the git state of the repository didn't change as a result (e.g. a new
modification to a file that already had the "modified" status).

I've also changed this code to send the `UpdateRepository` proto message
even when the git state didn't change, since otherwise we have the same
problem in SSH and collab projects.

Release Notes:

- N/A

Cole Miller created

31544d2 ci: Show output of failed tests at the end too (#39643)

Click to expand commit body
This makes it a bit easier to read GHA logs of failed CI runs.

Release Notes:

- N/A

Cole Miller created

4e93229 settings ui: Fix panic from reading `BufferLineHeight` custom variant (#39631)

Click to expand commit body
The panic happened when a user had a settings file with a buffer line
height custom variant, because the drop-down renderer only took into
account the two named variants.

The fix for this will be creating a custom element that allows a user to
manually input a line height greater than one or select either
Comfortable or Standard.

Release Notes:

- N/A

Anthony Eid created

b2f0b1b Fix Ctrl+C not working when Zed is launched from CLI (#39482)

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

Release Notes:

- N/A

John Tur created

94f1faf settings_ui: Make unimplemented helper (#39639)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Ben Kunkle created

075104a settings ui: Move settings data out of settings window (#39638)

Click to expand commit body
Moved `user_settings_data` and `project_settings_data` into their own
module because those functions just represent static data.

Release Notes:

- N/A

Anthony Eid created

c80d213 Fix infinite loop when worktree is deleted (#39637)

Click to expand commit body
Closes #39442

Release Notes:

- Fixed infinite loop when worktree is deleted

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>

Andrew Farkas and Conrad Irwin created

fe9895d node_runtime: Bump minimum version for system node to match copilot's requirement (#39632)

Click to expand commit body
Copilot now requires 22.x. See the last min node version bump:
https://github.com/zed-industries/zed/pull/27912

Closes #39461

<img width="1040" height="97" alt="image"
src="https://github.com/user-attachments/assets/8f0490e3-b9b5-45fd-b7f1-321691b862f0"
/>

Release Notes:

- Zed will no longer use `node` from your `$PATH` if it's older than
22.x (previously, the minimum version was 20.x). Instead, it will fall
back to its bundled `node`. This fixes being unable to use Copilot if an
older `node` was installed system-wide.

Cole Miller created

24bc52a Remove chat from docs (#39623)

Click to expand commit body
Updates #37789

Release Notes:

- N/A

Conrad Irwin created

a65a8be Revert YankEndOfLine default (part of PR #39143) (#39626)

Click to expand commit body
Release Notes:

- N/A

David Kleingeld created

ea60a7b settings ui: Use font picker element from onboarding instead of editor for font components (#39593)

Click to expand commit body
The font picker from onboarding is a lot friendlier to interact with and
makes it impossible for a user to select an invalid font from the
settings ui.

I also moved the font picker from the onboarding crate to the ui_input
crate

## New Look
<img width="1136" height="812" alt="image"
src="https://github.com/user-attachments/assets/7436682c-6a41-4860-a18b-13e15b8f3f31"
/>

Release Notes:

- N/A

Anthony Eid created

a67a55d docs: Fix Tree-sitter casing in `vim.md` (#39527)

Click to expand commit body
The AI here in GitHub helped me find the creative ways that Tree-sitter
was incorrectly typed in the document vim.md

<img width="704" height="196" alt="Tree-sitter-bg"
src="https://github.com/user-attachments/assets/90924405-0961-4436-b6b8-2066de527ddc"
/>

Release Notes:

- N/A

warrenjokinen created

1a9f9cc Add note about `inode/directory` to Zed desktop entry (#39076)

Click to expand commit body
Release Notes:

- N/A

Hexorg created

6da5945 Optimize fs_watcher to use less RAM by doing less work (#39602)

Click to expand commit body
mac_watcher already does this so it would make more sense to also do
this on Windows and it saves ~500-600mb of ram on the chromium project.

This does not improve memory usage on linux because inotify cannot do
recursive directory monitoring

Release Notes:

- N/A

localcc created

354cc65 search: Introduce more yield points in project search `pending_search` task (#39624)

Click to expand commit body
This should help with project search lagging I believe

Release Notes:

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

Lukas Wirth created

2c6a863 remote: Fix wsl failing to start on some setups (#39612)

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

Release Notes:

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

Lukas Wirth created

84ec865 agent: Fix gradient overlay in file list within the activity bar (#39619)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

80727a0 editor: Limit snippet query range instead of collecting from buffer start (#39617)

Click to expand commit body
Fixes hang when computing query for snippet completions when working
with really large buffers.

Release Notes:

- N/A

Smit Barmase created

e7339fb project_panel: Focus project panel when clicking empty space (#39489)

Click to expand commit body
Closes #39486

Release Notes:

- Fixed: Project Panel now properly focuses when clicking empty space,
allowing keyboard shortcuts to work as expected

ozer created

db5b1a3 settings ui: Add some UX adjustments (#39615)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

bc39ed2 editor: Preserve font features for vim block cursor (#39474)

Click to expand commit body
## Summary

Fixes an issue where font features (like ligatures) were not applied to
text under the vim block cursor. The cursor would inherit the font
family from the character at the cursor
position, but would use default font features instead of the editor's
configured font features.

## Changes

- Make the font mutable when rendering the vim block cursor
- Apply the editor's text style font features to the cursor font

This ensures that text under the block cursor renders with the same
visual appearance as the rest of the editor content.

Closes #39471

Release Notes:

- Fixed vim block cursor not respecting font features (like ligatures)

Ratazzi created

1764337 agent: Fix plan summary text overflow in Claude Code threads (#39603)

Click to expand commit body
| Before | After |
|--------|--------|
| <img width="700" height="764" alt="Screenshot 2025-10-06 at 9  43@2x"
src="https://github.com/user-attachments/assets/faf7e93f-f0d8-4bea-9f8d-272c83b41b18"
/> | <img width="700" height="394" alt="Screenshot 2025-10-06 at 9  43
2@2x"
src="https://github.com/user-attachments/assets/3f404e69-de3a-44c2-8111-0212d5d91199"
/> |

Release Notes:

- agent: Fixed a bug in Claude Code threads where the plan summary text
would overflow beyond its container.

Danilo Leal created

3707102 title_bar: Show git status indicator icon in the title bar (#38029)

Click to expand commit body
See related discussion #37046.

<details>

<summary>Screenshots</summary>

**No Changes**
<img
src="https://github.com/user-attachments/assets/e814da6e-bc9b-4edd-b37a-6bb4680d5bb3"
/>

**Added**
<img
src="https://github.com/user-attachments/assets/07ffdf90-08cb-43f4-b2bd-9966a21e08de"
/>

**Changed**
<img
src="https://github.com/user-attachments/assets/7e13b999-83b3-41ea-b2ab-baaa1541b169"
/>

**Deleted**
<img
src="https://github.com/user-attachments/assets/a77fc7e3-a026-419a-87bd-7146c3ca46a9"
/>

**Conflicts**
<img
src="https://github.com/user-attachments/assets/17e7e35c-d81b-4660-808d-08e12107ea2d"
/>

</details>

Release Notes:

- Show git status indicator icon in the title bar

Lev Zakharov created

5263f51 terminal: Fix terminal cloning on WSL (#39552)

Click to expand commit body
Should close #39428

The working directory of the `wsl.exe` program is set to a Linux path,
which is invalid on the Windows side, causing the terminal to crash. The
first spawn works because there is no active terminal view, allowing a
new shell (which checks for the remote) to be created. I cannot explain
why it works on SSH remote clients, but I may be missing something in
the remote connection implementation.

I don't have a Windows machine to test this, so I would appreciate
someone testing it. 🙏🏼

Release Notes:

- Fixed an issue where WSL terminals could not be splitted

---------

Signed-off-by: Marco Mihai Condrache <52580954+marcocondrache@users.noreply.github.com>

Marco Mihai Condrache created

93cd10a terminal: Re-enable activation scripts on windows (#39604)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

2c1cc01 linux: Fix enter key triggering newline instead of commiting input (#39599)

Click to expand commit body
Closes #31337 #35537

Release Notes:

- Fixed an issue on Linux X11 where pressing Enter added a new line
instead of confirming English input.

Smit Barmase created

81ada92 editor: Fix clangd switch source header action failing on wsl (#39598)

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

Release Notes:

- Fixed clangd switch source header action failing on wsl

Lukas Wirth created

4bd7ef8 acp_thread: If available, use git bash over powershell in terminal tool (#39466)

Click to expand commit body
Release Notes:

- When git bash is installed, agents will now use that over powershell
when invoking terminal commands

Lukas Wirth created

d1e2a1f gpui: Assert validity of text runs for `StyleText` (#39581)

Click to expand commit body
Should help with figuring out the char boundary panic in text shaping on
windows

Release Notes:

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

Lukas Wirth created

79a8986 settings ui: Add scrollbar and other design details (#39504)

Click to expand commit body
Release Notes:

- N/A

Danilo Leal created

d2b91eb settings ui: Add numeric steppers to settings UI (#39491)

Click to expand commit body
This PR adds the numeric stepper component to the settings ui and
implements some settings that rely on this component as well.

I also switched {buffer/ui}_font_weight to the `gpui::FontWeight` type
and added a manual implementation of the Schemars trait. This allows Zed
to send min, max, and default information to the JSON LSP when a user is
manually editing the settings file.

The numeric stepper elements added to the settings ui are below:
- ui font size
- ui font weight
- Buffer font size
- Buffer font weight 
- Scroll sensitivity
- Fast scroll sensitivity
- Vertical scroll margin
- Horizontal scroll margin
- Inline blame padding 
- Inline blame delay
- Inline blame min column
- Unnecessary code fade
- Tab Size
- Hover popover delay

Release Notes:

- N/A

Anthony Eid created

c26937a zed: Show GPUI Inspector item in Dev build menus (#39287)

Click to expand commit body
# Why

I have find out that this tool exists by browsing Keymap Editor. I think
it would be nice for its discoverability to show it in the app menus in
Dev builds.

# How

Add "GPUI Inspector" app menu item conditionally for Dev builds only.

Release Notes:

- N/A

# Preview

<img width="1014" height="948" alt="Screenshot 2025-10-01 at 14 36 48"
src="https://github.com/user-attachments/assets/c0409e67-1f4d-44f3-90b3-293ad4fe5c73"
/>

Bartosz Kaszubowski created

da82eec editor: Fix utf8 boundary panic in `process_completion_for_edit` (#39561)

Click to expand commit body
Fixes ZED-1WH

Release Notes:

- Fixed panic when requesting completions after a multibyte character

Lukas Wirth created

2bfcd60 editor: Shrink `DisplayMapSnapshot` from `824` to `256` bytes (#39568)

Click to expand commit body
We have unnecessary clones for the fields here as most of the snapshots
contain the others hierarchically.

Release Notes:

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

Lukas Wirth created

9c7369f terminal: Fix rendering of zero-width combining characters (#39526)

Click to expand commit body
Add support for rendering Unicode combining characters (diacritics) in
the terminal's batched text runs.

- Add append_zero_width_chars() to handle combining marks
- Integrate zero-width chars into all batching code paths
- Update cell extras tracking logic
- Add test for combining character rendering

Fixes display of é, ñ, ô and other diacritics.

Closes #39525

Release Notes:

- Fixed: NFD/NFKD normalized text (e.g., é as e + ◌́) not rendering in
integrated terminal

Before:

<img width="874" height="688" alt="SCR-20251004-udnj"
src="https://github.com/user-attachments/assets/8d9f9c9f-dac4-4382-92c2-8b6c1d817abd"
/>

After:

<img width="873" height="686" alt="SCR-20251004-ulsw"
src="https://github.com/user-attachments/assets/fbd5cdc7-fdd6-44dc-8b05-cc425644f1a0"
/>

Ratazzi created

5160510 chore: Remove unused settings ui module (#39580)

Click to expand commit body
The editor settings control module was the first prototype of what a
settings UI could look like in Zed, but the code is outdated now and is
no longer used. So this PR removes it for cleanup.

Release Notes:

- N/A

Anthony Eid created

ee557fb Add window close keybindings for Settings UI (#39578)

Click to expand commit body
Closes #ISSUE

Release Notes:

- N/A

Mikayla Maki created

f9919f9 Swap the start building and login buttons (#39576)

Click to expand commit body
New onboarding screen:

<img width="1027" height="700" alt="Screenshot 2025-10-05 at 10 38
57 PM"
src="https://github.com/user-attachments/assets/5dc49e53-68e7-4559-8ce0-1bada629781d"
/>


This PR also adds a new telemetry event: `Welcome Start Building
Clicked`

Release Notes:

- N/A

Mikayla Maki created

0f0974f Add script to bump GPUI version (#39573)

Click to expand commit body
This script successfully published the [0.2.0-test.4 GPUI
prerelease](https://crates.io/crates/gpui/0.2.0-test.4).

Release Notes:

- N/A

Mikayla Maki created

e317d98 Prep crates for GPUI on crates.io (#39543)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created

dada318 Remove iterations from the slow FS tests (#39564)

Click to expand commit body
Follow-up to https://github.com/zed-industries/zed/pull/39557

Release Notes:

- N/A

Kirill Bulatov created

b53f9c8 editor: Fix panic in `delete_line` with multibyte characters (#39560)

Click to expand commit body
Fixes ZED-1TG

Release Notes:

- Fixed panic in `delete line` when following line contains multibyte
characters

Lukas Wirth created

5b0a2f1 Add more unit tests for Rope (#39426)

Click to expand commit body
I was looking at the rope implementation and some of the existing bugs
that crash in there, and I ran cargo-mutants to inspect test coverage. I
was motivated by bugs like
https://github.com/zed-industries/zed/issues/38556 but this doesn't fix
it and the bug may well be at a higher layer.

This PR adds coverage for a few functions that aren't tested today. I
didn't find any actual bugs yet.

I can see this tree is pretty sparse on docstrings so if you think these
are too verbose I can take them out or drop the whole PR.

Release Notes:

- N/A

Martin Pool created

d5a4890 remote: Keep full shell path on wsl (#39555)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

cd61bfb docs: Fix path of language extensions on Linux (#39425)

Click to expand commit body
Release Notes:

- N/A

Be created