e702df2
Fix Rust macro_invocation injections (#40534)
Click to expand commit body
Closes #40317 Release Notes: - N/A
Julia Ryan created
e702df2
Fix Rust macro_invocation injections (#40534)
Closes #40317 Release Notes: - N/A
Julia Ryan created
3d6722b
Fix Right Alt key not working in keybindings on Windows (#40536)
### 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)
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)
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)
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)
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)
`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)
Release Notes: - N/A
Max Brunsfeld created
d7e193c
Show telemetry for adding all items (#40541)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Mikayla Maki created
438c890
perf: Add on search + fixups (#40537)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Nia created
4dd463f
Fix repo path to project path conversion in git panel (#40535)
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)
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)
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)
Fixed broken link to `Ownership and data flow section`.
Seivan created
7e97fca
Reduce `display_map` snapshot creation (#39354)
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)
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)
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)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
1fbe1e3
VSCode settings import refactor (#40513)
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)
We use Oxford commas in this household. Release Notes: - N/A
Marshall Bowers created
3f13191
Remove agent1 code (#40495)
Release Notes: - N/A
Bennet Fenner created
73e028c
dap: Allow user to pass custom envs to adapter via project settings (#40490)
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)
Release Notes: - N/A
Agus Zubiaga created
1449d1c
zeta2: Report accepted predictions (#40500)
Release Notes: - N/A
Agus Zubiaga created
83bfe2f
multi_buffer: Make `anchor_in_excerpt` fallible for bad text anchors (#40496)
`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)
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)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
9056d77
settings_ui: Add dynamic setting fields (#40443)
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)
Fixes ZED-28R Release Notes: - Fixed open path prompt panicking on certain inputs
Lukas Wirth created
b59a3bb
gpui: Remove some unnecessary unsafe code (#40483)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
eb3f9b0
Fix command for changing inside brackets in vim.md (#40184)
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)
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)
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)
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)
Fixes a grammar issue in the readme. Release notes: - N/A
ThomasNow Productions created
d5a156b
remote: Exclude port-forward flags in scp commands (#40402)
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)
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)
Closes #39596 Release Notes: - N/A
Julia Ryan created
d99fdc6
Fix path separator in toolchain selector (#40449)
Closes #40310 Release Notes: - N/A
Julia Ryan created
038041c
Fix spacing around hidden status bar items (#39992)
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.  - 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)
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)
docs. docs. docs. Release Notes: - N/A
Mikayla Maki created
4fa3331
Make python adapter error message a bit better (#40440)
Release Notes: - N/A
Mikayla Maki created
cdc9728
emacs: Support more default keybindings (#40101)
Hello, Thanks for the great work. I am adding some more bindings for the emacs keymap: - `command_palette::Toggle` as replacement for the emacs command dispatcher - other default aliases for existing move / delete commands - e.g. `alt-left` to move to previous word and `alt-del` to delete it - some missing `SelectTo` equivalents for move commands on selection mode Release Notes: - Added bindings for the Emacs keymap
Affonso, Guilherme created
aec3c2f
workspace: Move panes to span the entire border in Vim mode (#39123)
Currently, <kbd>⌃w</kbd> + <kbd>HJKL</kbd> keystrokes swap active pane
with another pane in that direction. Also, if there is no pane to swap
with, nothing happens.
This does not match the expected Vim behavior: moving the split to span
the entire border.
See
https://github.com/vim/vim/blob/ca6a260ef1a4b4ae94bc71c17cbabf8f12bf0f8c/runtime/doc/windows.txt#L527-L549
This change adds `MovePane{Up,Down,Left,Right}` actions that do exactly
that and updates default Vim keymap.
<table>
<tr>
<th>Before</th>
<th>After</th>
<tr>
<td><video
src="https://github.com/user-attachments/assets/5d3a25bf-e8b6-46c1-9fbb-004f0194e0dd">
<td><video
src="https://github.com/user-attachments/assets/5276f115-5063-411e-b141-5d268a79581b">
<tr>
<th>Vim</th>
<tr>
<td><video
src="https://github.com/user-attachments/assets/df9fbf83-d0de-42c0-8fb0-b134be833bde">
</table>
Release Notes:
- Changed `ctrl+w` + `shift-[hjkl]` in Vim mode to move the split to
span the entire border, aligning with Vim‘s behavior.
Signed-off-by: Ivan Trubach <mr.trubach@icloud.com>
Ivan Trubach created
620df0c
Remove unnecessary languages mapping in Tailwind for Ruby example (#40299)
The built-in Tailwind language already maps `HTML+ERB` to `erb`, and it seems that `Ruby` files work as well just from enabling the language server, so we can remove the unnecessary mapping. Release Notes: - N/A
Janko Marohnić created
cd51efa
Fixed nushell error when creating new folder when uploading wsl-remote-server (#40432)
Closes #40269 Release Notes: - N/A
kingananas20 created
e85c060
fs: Replace a bunch of uses of smol::fs with manual impls (again) (#40433)
Follow-up after #40417, which should've fixed hangs. smol::fs uses a separate threadpool, which is a bit yuck. This PR also added a benchmark you can use to run a full worktree scan (initial one, that is) for arbitrary worktree.. and refactored worktree scanner to use async locks, as otherwise tests were deadlocking. :) I've benchmarked it against Zed, Linux and Chromium and saw a ~60% drop in initial worktree scan times across the board. Release Notes: - Significantly (3.3x speedup over the old implementation) improved speed of Zed's worktree scanner, that's responsible for synchronizing the state of your project with the state of files on hard drive. --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Piotr Osiewicz and Smit Barmase created
65acf12
Fix use of PRNG in Rope benchmarks (#39949)
Using a seeded PRNG to produce consistent test data and reduce variability makes sense. However, the way it was used previously, by always cloning the RNG, means that every generated string is the same, and every offset is the same. After this change, the tested value stream should still be the same on each run of the benchmark, but the values within each run will vary. The `generate_random_text` measured in chars also seems possibly inconsistent with later comments about it being a number of bytes. Release Notes: - N/A
Martin Pool created
2adc023
anthropic: Haiku 4.5 support (#40298)
Release Notes: - Added Claude Haiku 4.5 <img width="1512" height="919" alt="Screenshot 2025-10-15 at 5 23 37 PM" src="https://github.com/user-attachments/assets/fd3eb8e7-ddd8-4d38-a171-400949c0cef4" />
versecafe created