Commit log

3aee143 python: Only enable basedpyright and ruff by default (#40604)

Click to expand commit body
Though we ship with `basedpyright`, `ruff` and a few other laps for
python, we run them all at once.

Release Notes:

- Only enable `basedpyright` and `ruff` by default when opening Python
files. If you prefer one of the other.

Joseph T. Lyons created

02b15f0 Add Windows path into custom theme docs (#40599)

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

Release Notes:

- N/A

Kirill Bulatov created

8d48f9c gpui: Simplify tab group lookup logic in SystemWindowTabController (#40466)

Click to expand commit body
Refactor the find_tab_group method to use the question mark operator for
cleaner error handling, replacing the explicit if-else pattern with a
more concise chained approach.

Release Notes:

- N/A

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

Xiaobo Liu created

4199445 Fix `extension` keymap context for single file worktree (#40425)

Click to expand commit body
Closes #40353

Release Notes:

- Fixed `extension` in keymap context being empty for single file
worktree

Co-authored-by: Cole Miller <cole@zed.dev>

Andrew Farkas and Cole Miller created

89be263 project_panel: Fix double-click on blank area to create a new file (#40503)

Click to expand commit body
Regressed in https://github.com/zed-industries/zed/pull/38008

Release Notes:

- Fixed an issue where double-clicking empty space in the project panel
wouldn’t create a new file.

Smit Barmase created

3566446 docs: Add `deno.jsonc` to JSON LSP settings (#40563)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Bedis Nbiba created

219ae05 Add a doc on crafting release notes (#40557)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

e702df2 Fix Rust macro_invocation injections (#40534)

Click to expand commit body
Closes #40317

Release Notes:

- N/A

Julia Ryan created

3d6722b Fix Right Alt key not working in keybindings on Windows (#40536)

Click to expand commit body
### Problem
On Windows, the right Alt key was not working in keybindings (e.g.,
`Ctrl+Right Alt+B`), while the left Alt key worked correctly. This was
due to overly aggressive AltGr detection that treated any `right Alt +
left Ctrl` combination as AltGr, even on US keyboards where AltGr
doesn't exist.

### Root Cause
Windows internally represents AltGr (Alt Graph) as `right Alt + left
Ctrl` pressed simultaneously. The previous implementation always
excluded this combination from being treated as regular modifier keys to
support international keyboards. However, this broke keybindings using
right Alt on US/UK keyboards where users expect right Alt to behave
identically to left Alt.

### Solution
Implemented keyboard layout-aware AltGr detection:

1. Added `uses_altgr()` method to `WindowsKeyboardLayout` that checks if
the current keyboard layout is known to use AltGr (German, French,
Spanish, Polish, etc.)
2. Modified `current_modifiers()` to only apply AltGr special handling
when the keyboard layout actually uses it
3. Added explicit checking for both `VK_LMENU` and `VK_RMENU` instead of
relying solely on the generic `VK_MENU`

### Behavior
- **US/UK keyboards**: Right Alt now works identically to left Alt in
keybindings. `Ctrl+Right Alt+B` triggers the same action as `Ctrl+Left
Alt+B`
- **International keyboards** (German, French, Spanish, etc.): AltGr
continues to work correctly for typing special characters and doesn't
trigger keybindings
- **All keyboards**: Both Alt keys are detected symmetrically, matching
the behavior of left/right Windows keys

### Testing
Manually tested on Windows with US keyboard layout:
-  `Ctrl+Left Alt+B` triggers keybinding
-  `Ctrl+Right Alt+B` triggers keybinding  
-  Both Alt keys work independently in keybindings


Release Notes:
- Fixed Right Alt key not working in keybindings on Windows

joel created

47c6ae7 settings_ui: Fix stepper buttons to Inactive Opacity to 0.1 increment adjustments (#40477)

Click to expand commit body
Closes #40279

Release Notes:

- Fix stepper buttons (+/-) to the Inactive Opacity setting for 0.1
increment adjustments on settings UI

---------

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

Delvin and Danilo Leal created

9984614 settings_ui: Fix misplaced comma in autoclose setting description (#40519)

Click to expand commit body
Release Notes:

- Fixed misplaced comma in the autoclose description from:
"when you type (, Zed will ...)"
to 
"when you type, (Zed will ...)"

---------

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

David and Danilo Leal created

287314f markdown_preview: Improve the link decoration logic (#39905)

Click to expand commit body
Closes #39838

Refs:
*
https://github.com/zed-industries/zed/pull/39149#issuecomment-3383015060

# How

After digging a bit more to find out why raw links are not colored in
Markdown renderer I have found a simpler approach to applying color
decoration, which also fixed the lack of colors on raw links mentioned
in issue and comment above.

Release Notes:

- Improved decoration logic for links in Markdown

# Preview

<img width="1712" height="820" alt="Screenshot 2025-10-09 at 23 39 09"
src="https://github.com/user-attachments/assets/3864cb6c-3fc6-4110-8067-6158cd4b58f5"
/>

Bartosz Kaszubowski created

63e719f Disallow rename/copy/delete on unshared files (#40540)

Click to expand commit body
Release Notes:

- Disallow rename/delete/copy on unshared files

Co-Authored-By: Cole <cole@zed.dev>

Conrad Irwin and Cole created

1e69e5d Set the minimum log level to `info` for the remote server (#40543)

Click to expand commit body
`env_logger` defaults to only showing error-level logs, but we show
info-level logs and above for the main Zed process, so I think it makes
sense for the remote server to behave the same way.

Release Notes:

- N/A

Cole Miller created

30c4434 Ignore flaky ignored_dirs_events test (#40546)

Click to expand commit body
Release Notes:

- N/A

Max Brunsfeld created

d7e193c Show telemetry for adding all items (#40541)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Mikayla Maki created

438c890 perf: Add on search + fixups (#40537)

Click to expand commit body
Release Notes:

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

Nia created

4dd463f Fix repo path to project path conversion in git panel (#40535)

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

Release Notes:

- Fixed an issue where the project diff view did not work for multi-repo
projects on Windows when using WSL or SSH remoting

Max Brunsfeld created

22fd91d Re-register buffers on server stop (#40504)

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

Release Notes:

- N/A

Kirill Bulatov created

a660a39 docs: Update cpp.md to indicate GDB version requirements (#40027)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Seeni , Piotr Osiewicz , and Marshall Bowers created

6028545 gpui: Update link to Ownership and data flow section (#40457)

Click to expand commit body
Fixed broken link to `Ownership and data flow section`.

Seivan created

7e97fca Reduce `display_map` snapshot creation (#39354)

Click to expand commit body
Re-applies https://github.com/zed-industries/zed/pull/30840

This PR re-applies the initial
[PR](https://github.com/zed-industries/zed/pull/30840). As it was closed
because it was hard to land, because of the many conflicts. This PR
re-applies the changes for it.

In several cases we were creating multiple display_map
snapshots within the same root-level function call.
Creating a display_map snapshot is quite slow, and in some
cases we were creating the snapshot multiple times.

Release Notes:

- N/A

Remco Smits created

ef5b8c6 Remove workspace-hack (#40216)

Click to expand commit body
We've been considering removing workspace-hack for a couple reasons:
- Lukas ran into a situation where its build script seemed to be causing
spurious rebuilds. This seems more likely to be a cargo bug than an
issue with workspace-hack itself (given that it has an empty build
script), but we don't necessarily want to take the time to hunt that
down right now.
- Marshall mentioned hakari interacts poorly with automated crate
updates (in our case provided by rennovate) because you'd need to have
`cargo hakari generate && cargo hakari manage-deps` after their changes
and we prefer to not have actions that make commits.

Currently removing workspace-hack causes our workspace to grow from
~1700 to ~2000 crates being built (depending on platform), which is
mainly a problem when you're building the whole workspace or running
tests across the the normal and remote binaries (which is where
feature-unification nets us the most sharing). It doesn't impact
incremental times noticeably when you're just iterating on `-p zed`, and
we'll hopefully get these savings back in the future when
rust-lang/cargo#14774 (which re-implements the functionality of hakari)
is finished.

Release Notes:

- N/A

Julia Ryan created

375a404 settings_ui: Fix missing list state reset causing panic (#40497)

Click to expand commit body
Closes #40467

Release Notes:

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

Ben Kunkle created

27dcdb5 multi_buffer: Reduce `RefCell::borrow_mut` calls to the bare minimum (#40522)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

1fbe1e3 VSCode settings import refactor (#40513)

Click to expand commit body
A small follow-up to the settings refactor of a few weeks ago to move
all the VSCode settings imports
to one place.

This should make it easier to spot missing imports, and easier to test
the importer.

Release Notes:

- N/A

Conrad Irwin created

62858f6 Restore Oxford comma in README (#40518)

Click to expand commit body
We use Oxford commas in this household.

Release Notes:

- N/A

Marshall Bowers created

3f13191 Remove agent1 code (#40495)

Click to expand commit body
Release Notes:

- N/A

Bennet Fenner created

73e028c dap: Allow user to pass custom envs to adapter via project settings (#40490)

Click to expand commit body
It is now possible to configure logging level of CodeLLDB adapter via
envs specified in project settings like so:

```
{
    "dap": {
        "CodeLLDB": {
            "envs": {
                "RUST_LOG": "debug"
            }
        }
    }
}
```

Release Notes:

- N/A

Jakub Konka created

c1e87c8 zeta2: Feature flag (#40505)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

1449d1c zeta2: Report accepted predictions (#40500)

Click to expand commit body
Release Notes:

- N/A

Agus Zubiaga created

83bfe2f multi_buffer: Make `anchor_in_excerpt` fallible for bad text anchors (#40496)

Click to expand commit body
`MultiBuffer::anchor_in_excerpt` currently just wraps the given text
anchor in a multibuffer anchor. This allows one to get a multibuffer
anchor that points outside its excerpt which is basically never what one
wants. This PR now does a bounds check and returns `None` if the given
text anchor is not within the bounds of the excerpt.

Release Notes:

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

Co-authored-by: Kirill Bulatov <kirill@zed.dev>

Lukas Wirth and Kirill Bulatov created

7f9898a Add Amplitude tracking to docs (#40494)

Click to expand commit body
Closes #ISSUE

Release Notes:

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

Gaauwe Rombouts created

b27fd3b worktree: Don't attempt to watch non-existing global gitignore (#40476)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

9056d77 settings_ui: Add dynamic setting fields (#40443)

Click to expand commit body
Closes #ISSUE

Includes the start of how we can get rid of most of the `.unimplemented`
"Edit in JSON" buttons in the settings UI. For now only Theme selection
is implemented, follow ups will add more settings

Release Notes:

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

Ben Kunkle created

b711232 file_finder: Fix open path prompt creating wrong highlight indices (#40488)

Click to expand commit body
Fixes ZED-28R

Release Notes:

- Fixed open path prompt panicking on certain inputs

Lukas Wirth created

b59a3bb gpui: Remove some unnecessary unsafe code (#40483)

Click to expand commit body
Release Notes:

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

Lukas Wirth created

eb3f9b0 Fix command for changing inside brackets in vim.md (#40184)

Click to expand commit body
Fix bindings used in the vim documentation example for both
`MiniBrackets` and `MiniQuotes`.

---------

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

happy wang and dino created

dd32bb6 title_bar: Render chevron if `show_user_picture` is disabled (#40474)

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

Release Notes:

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

Lukas Wirth created

568bb02 Bind `ctrl-c` and `ctrl-v` in the windows terminal (#40426)

Click to expand commit body
Fixes #40034

Release Notes:

- `ctrl-c` (when you have a selection) and `ctrl-v` are now bound to
copy and paste by default in the windows terminal.

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

Julia Ryan and John Tur created

ca1f843 remote: Support line and column numbers for remote paths (#40410)

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

Release Notes:

- Improved line and column number handling for paths in remotes

---------

Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>

Lukas Wirth and Max Brunsfeld created

45a0d08 Update README.md grammar (#40461)

Click to expand commit body
Fixes a grammar issue in the readme.

Release notes:
- N/A

ThomasNow Productions created

d5a156b remote: Exclude port-forward flags in scp commands (#40402)

Click to expand commit body
Closes #36454

Release Notes:

- Exclude port-forward flags in `scp` commands for file and directory
uploads

Fadhil Yusuf created

6c3a7f6 gpui: Fix text wrapping for URLs (#35724)

Click to expand commit body
Close #35715

Release Notes:

- Fixed to wrap long URLs in editor.

<img width="836" height="740" alt="image"
src="https://github.com/user-attachments/assets/635ce792-5f19-4c76-b131-0d270d09b103"
/>

I remember when I was working on CJK line wrapping support in the early
days, I considered making `\` a line wrapping character, but for some
reason it was on the list of characters that were not allowed to wrap.

In reference to VS Code, it looks like `&`, `/`, `?` should wrap, so I
removed all of them.

---------

Co-authored-by: Mikayla Maki <mikayla@zed.dev>

Jason Lee and Mikayla Maki created

e67065f Fix "select toolchain path" in WSL with python virtual environments (#40447)

Click to expand commit body
Closes #39596

Release Notes:

- N/A

Julia Ryan created

d99fdc6 Fix path separator in toolchain selector (#40449)

Click to expand commit body
Closes #40310

Release Notes:

- N/A

Julia Ryan created

038041c Fix spacing around hidden status bar items (#39992)

Click to expand commit body
This is a follow-up PR to
https://github.com/zed-industries/zed/pull/39609, and attempts to
address hidden status bar items still contributing to the layout and
creating extra spacing.

![before using display:none theres extra spaces, afterwords the buttons
are always evenly
spaced](https://github.com/user-attachments/assets/3bd07837-5f6f-4ca1-8985-9f3cb8b6893d)

- 203cbd634bfb1489b8afa4952d9594615a956b77 Adds a `.none()` method to
the `gpui::Styled` helper trait, so that status items can set their
display type to none inside their `render` method.

- 249f06e3de63b0ab32814f20e7105d8e2b642f02 Applies `.none()` to all the
status items.

- ~~499f564906c88336608c81615b11ebc9ab43d832~~ At first I was adding an
`is_visible` method to the `StatusBarView` trait, which would be used to
skip status bar items which would just render an empty div anyway, but I
felt duplicating the conditions for hiding the buttons between the
status items `is_visible` and `render` methods could be an attraction
for bugs, so I tried to find another approach. This commit contains
those changes, reverted immediately (if the `is_visible` approach is
preferred I can bring it back!)

- f37cb75f0519ceea1f3e1cc4f97087a5cb34b0fd (bonus!) Adds a condition to
the vim mode indicator to avoid a leading space when there are no
pending keys.

Release Notes:

- N/A

kitt created

0cbab31 vim: Add vim command filename autocomplete (#36332)

Click to expand commit body
Release Notes:

- Adds filename autocomplete for vim commands:
  - write
  - edit
  - split
  - vsplit
  - tabedit
  - tabnew
- Makes command palette interceptor async
<img width="1382" height="634" alt="image"
src="https://github.com/user-attachments/assets/e7bf01c5-e9cd-4a7d-b38c-12fc3df5069f"
/>

---------

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

AidanV and Conrad Irwin created

908ae95 docs: Improve debug adapter documentation (#40441)

Click to expand commit body
docs. docs. docs.

Release Notes:

- N/A

Mikayla Maki created

4fa3331 Make python adapter error message a bit better (#40440)

Click to expand commit body
Release Notes:

- N/A

Mikayla Maki created