c4bda12
WIP
MrSubidubi created
c4bda12
WIP
MrSubidubi created
8a01e48
ui: Properly update scrollbar track color (#41354)
Closes https://github.com/zed-industries/zed/issues/41334 This comes down to a caching issue.. Release Notes: - Fixed an issue where the scrollbar track color would not update in case the theme was changed.
Finn Evers created
1b43217
Add a jetbrains-like Toggle All Docks action (#40567)
The current Jetbrains keymap has `ctrl-shift-f12` set to `CloseAllDocks`. On Jetbrains IDEs this hotkey actually toggles the docks, which is very convenient: You press it once to hide all docks and just focus on the code, and then you can press it again to toggle your docks right back to how they were. Unlike `CloseAllDocks`, a toggle means the editor needs to remember the previous docks state so this necessitated some code changes. Release Notes: - Added a `Toggle All Docks` editor action and updated the keymaps to use it
Adir Shemesh created
1b6cde7
Revert "Fix ESLint linebreak-style errors by preserving line endings in LSP communication (#38773)" (#41355)
This reverts commit 435eab68968fa11f8a476c78845b13df45498f25. This caused format on save to scroll down to bottom instead of keeping the position. Release Notes: - N/A
Kirill Bulatov created
bd0bcdb
Fix line number settings migration (#41351)
Follow-up to https://github.com/zed-industries/zed/pull/39268 Also updates the documentation. Release Notes: - N/A
Finn Evers created
2b56991
editor: Fix calculate relative line number panic (#41352)
### Reproduction steps 1. Turn on relative line numbers 2. Start a debugging session and hit an active debug line 3. minimize Zed so the editor element with the active debug line has zero visible rows #### Before https://github.com/user-attachments/assets/57cc7a4d-478d-481a-8b70-f14c879bd858 #### After https://github.com/user-attachments/assets/19614104-f9aa-4b76-886b-1ad4a5985403 Release Notes: - debugger: Fix a panic that could occur when minimizing Zed
Anthony Eid created
0857dda
Always delete OpenConsole.exe on Windows uninstall (#41348)
By default, the uninstaller will only delete files that were written by the original installer. When users upgrade Zed, these new OpenConsole.exe files will have been written by auto_upgrade_helper, not the installer. Force them to be deleted on uninstall, so they do not hang around. Release Notes: - N/A
John Tur created
3e3618b
debugger: Add horizontal scrollbar for frame item and tooltip for variables (#41261)
Closes #40360 I first tried to use an horizontal scrollbar also for variables but as it's a List that can be collapsed it didn't feel natural so I ended up adding a tooltip to have to full value of the variable when you hover the item. (cf screenshots). https://github.com/user-attachments/assets/70c4150d-b967-46b0-8720-82bbad9c9cca https://github.com/user-attachments/assets/d0b52189-b090-4824-8eb7-2f455fa58b33 Release Notes: - Added: for debugger UI horizontal scrollbar for frame item and tooltip for variables. Signed-off-by: Benjamin <5719034+bnjjj@users.noreply.github.com>
Coenen Benjamin created
2163580
Fix tab switcher spacing bug (#41329)
The tab switcher render matches calls each workspace item's `Item::tab_content` function that can return an element of variable size. Because the tab switcher was using a uniform list under the hood, this would cause spacing issues when tab_contents elements had different sizes. The fix is by changing the picker to use a material list under the hood. Release Notes: - N/A
Anthony Eid created
4778d61
Fix copy button not working for REPL error output (#40669)
## Description Fixes the copy button functionality in REPL interactive mode error output sections. When executing Python code that produces errors in the REPL (e.g., `NameError`), the copy button in the error output section was unresponsive. The stdout/stderr copy button worked correctly, but the error traceback section copy button had no effect when clicked. Fixes #40207 ## Changes Modified the following: src/outputs.rs: Fixed context issues in render_output_controls by replacing cx.listener() with simple closures, and added custom button implementation for ErrorOutput that copies/opens the complete error (name + message + traceback) src/outputs/plain.rs: Made full_text() method public to allow access from button handlers src/outputs/user_error.rs: Added Clone derive to ErrorView struct and removed a couple pieces of commented code ## Why This Matters The copy button was clearly broken and it is useful to have for REPL workflows. Users could potentially need to copy error messages for a variety of reasons. ## Testing See attached demo for proof that the fix is working as intended. (this is my first ever commit, if there are additional test cases I need to write or run, please let me know!) https://github.com/user-attachments/assets/da158205-4119-47eb-a271-196ef8d196e4 Release Notes: - Fixed copy button not working for REPL error output
h-michaelson20 created
46c5d51
recent_projects: Surface project opening errors to user (#41308)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
73bd12e
editor: Optimize selection overlap checking (#41281)
Replace the binary search approach with a more efficient partition_point method for checking selection overlaps. This eliminates the need to collect and sort selection ranges separately, reducing memory allocation and improving performance when handling multiple selections. Release Notes: - N/A Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Xiaobo Liu created
cc829e7
remote: 60 second timeout on initial connection (#41339)
Closes #41316 Release Notes: - Fixes #41316 > This keeps the 5 second heartbeat behavior for after the connection is made
versecafe created
fdf5bf7
remote: Support building x86_64-linux-musl proxy in nix-darwin (#41291)
This change adds two things to our remote server build
process:
1. It now checks if all required tooling is installed before using it or installing it on demand. This includes checks for `rustup` and `cargo-zigbuild` in your `PATH`.
2. Next, if `ZED_BUILD_REMOTE_SERVER` contains `musl` and `ZED_ZSTD_MUSL_LIB`
is set, we will pass its value (the path) to `cargo-zigbuild` as `-C
link-arg=-L{path}`.
Release Notes:
- N/A
Jakub Konka created
c94536a
Fix Windows updater failing to copy OpenConsole.exe (#41338)
Release Notes: - N/A
John Tur created
9db4740
Reland Windows Arm64 builds in CI (#40855)
Release Notes: - windows: Added builds for Arm64 architecture --------- Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
John Tur and Julia Ryan created
1d0bb5a
Make 'wrap selections in tag' work with line selection mode (#41030)
The `wrap selections in tag` action currently did not take line_mode into account, which means when selecting lines with `shift-v`, the start/end tags would be inserted into the middle of the selection (where the cursor sits) https://github.com/user-attachments/assets/a1cbf3da-d52a-42e2-aecf-1a7b6d1dbb32 This PR fixes this behaviour by checking if the selection uses line_mode and then adjusting start and end points accordingly. NOTE: I looked into amending the test cases for this, but I am unsure how to express line mode with range markers. I would appreciate some guidance on this and then I am happy to add test cases. After: https://github.com/user-attachments/assets/a212c41f-b0db-4f50-866f-fced7bc677ca Release Notes: - Fixed `Editor: wrap selection in tags` when in vim visual line mode --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Lukas and Conrad Irwin created
6823847
Add buffer_search_deployed key context (#41193)
Release Notes: - Pane key context now includes 'buffer_search_deployed' identifier The goal of this PR is to add a new identifier in the key context that will let the user target when the BufferSearchBar is deployed even if they are not focused on it. requested in #36930 Same rational as #40454 this will allow users to make more flexible keybindings, by including some additional information higher up the key context tree. i thought adding this context to `Pane` seemed more appropriate than `Editor` since `Terminal` also has a `BufferSearchBar`; however, I ran into some import issues between BufferSearchBar, Search, Pane, and Workspace which made it difficult to implement adding this context directly inside `Pane`'s render function. instead i added a new method called `contributes_context` to `ToolbarItem` which will allow any toolbar item to add additional context to the `Pane` level, which feels like it might come in handy. here are some screen shots of the context being displayed in the Editor and the Terminal <img width="1653" height="1051" alt="Screenshot 2025-10-25 at 14 34 03" src="https://github.com/user-attachments/assets/21c5b07a-8d36-4e0b-ad09-378b12d2ea38" /> <img width="1444" height="1167" alt="Screenshot 2025-10-25 at 12 32 21" src="https://github.com/user-attachments/assets/86afe72f-b238-43cd-8230-9cb59fb93b2c" />
Josh Piasecki created
3a7bdf4
Fix unwrap in branch diff (#41330)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
d5e2971
Support relative line number on wrapped lines (#39268)
**Problem:** Current relative line numbering creates a mismatch with vim-style navigation when soft wrap is enabled. Users must mentally calculate whether target lines are wrapped segments or logical lines, making `<n>j/k` navigation unreliable and cognitively demanding. **How things work today:** - Real line navigation (`j/k` moves by logical lines): Requires determining if visible lines are wrapped segments before jumping. Can't jump to wrapped lines directly. - Display line navigation (`j/k` moves by display rows): Line numbers don't correspond to actual row distances for multi-line jumps. **Proposed solution:** Count and number each display line (including wrapped segments) for relative numbering. This creates direct visual-to-navigational correspondence where the relative number shown always matches the `<n>j/k` distance needed. **Benefits:** - Eliminates mental overhead of distinguishing wrapped vs. logical lines - Makes relative line numbers consistently actionable regardless of wrap state - Preserves intuitive "what you see is what you navigate" principle - Maintains vim workflow efficiency in narrow window scenarios Also explained an discussed in https://github.com/zed-industries/zed/discussions/25733. Release Notes: Release Notes: - Added support for counting wrapped lines as relative lines and for displaying line numbers for wrapped segments. Changes `relative_line_numbers` from a boolean to an enum: `enabled`, `disabled`, or `wrapped`. --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Thomas Heartman and Conrad Irwin created
1c4923e
gpui: Add a timeout to `#[gpui::test]` tests (#41303)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
ee80ba6
zeta2: LLM-based context gathering (#41326)
Release Notes: - N/A --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Max Brunsfeld <max@zed.dev>
Agus Zubiaga , Max Brunsfeld , and Max Brunsfeld created
fd306c9
Fix default settings entry for basedpyright (#40812)
If you set `{"basedpyright": {"analysis": {"typeCheckingMode":
"off"}}}`, you will notice that it doesn't actually work, but
`{"basedpyright.analysis": {"typeCheckingMode": "off"}}` does.
Made the change on how the default is being set.
Release Notes:
- N/A
Abdelhakim Qbaich created
b3483a1
settings_ui: Fix tabbing in settings UI main page content (#41209)
Tabbing into the main page would move focus to the navigation panel instead of auto-scrolling. This PR fixes that bug. Release Notes: - N/A
Anthony Eid created
ac66e91
Don't upload symbols to DO anymore (#41317)
Sentry now symbolicates stack traces, no need to make our builds slower Release Notes: - N/A
Conrad Irwin created
5e37a7b
Fix shell welcome prompt showing up in Zed's stdout (#41311)
The bug occurred because `smol::process::Command::from(_)` doesn't set
the correct fields for stdio markers. So moving the stdio configuration
after converting to a `smol` command fixed the issue.
I added the `std::process::Command::{stdout, stderr, stdin}` functions
to our disallowed list in clippy to prevent any bugs like this appearing
in the future.
Release Notes:
- N/A
Anthony Eid created
00278f4
Add Rust convenience Tree-sitter injections for common crates (#41258)
Cameron Mcloughlin created
ac3d2a3
Tune the focus-visible heuristics a bit (#41314)
This isn't quite right yet, as a proper solution would remember the input modality at the moment of focus change, rather than at painting time. But this gets us close enough for now. Release Notes: - N/A
Mikayla Maki created
58f07ff
Try gh-workflow (#41155)
Experimenting with not writing YAML by hand... Release Notes: - N/A
Conrad Irwin created
db0f7a8
docs: Mention the settings and keymap UIs more prominently (#41302)
Release Notes: - N/A
Danilo Leal created
f5ad4c8
Remove PostgREST (#41299)
This PR removes the PostgREST containers and deployments, as we're no longer using it. Release Notes: - N/A
Marshall Bowers created
1729849
collab: Add 'Copy channel notes link' to right click menu on channels (#41298)
Release Notes: - Added a "Copy Channel Notes Link" action to right-click menu of Zed channels.
Piotr Osiewicz created
ba26ca4
docs: Document per-release channel configuration (#40833)
## Summary - Document the `stable`/`preview`/`nightly` top-level keys that let users scope settings overrides per release channel. - Provide an example `settings.json` snippet and call out that overrides replace array values rather than merging them. - Mention that UI-driven changes edit the root config so per-channel blocks might need manual updates. ## Testing - Not run (docs only). Fixes #40458. Release Notes: - N/A --------- Co-authored-by: MrSubidubi <finn@zed.dev>
Mohin Hasin Rabbi and MrSubidubi created
1ae8e0c
keymap_editor: Clear action query when showing matching keybindings (#41296)
Closes https://github.com/zed-industries/zed/issues/41050 Release Notes: - Fixed an issue where showing matching keystrokes in the keybind editor modal would not clear an active text query.
Finn Evers created
a70f80d
Add support for changing the Codestral endpoint (#41116)
```json
"edit_predictions": {
"codestral": {
"api_url": "https://codestral.mistral.ai",
"model": "codestral-latest",
"max_tokens": 150
}
},
```
Release Notes:
- Added support for changing the Codestral endpoint. This was discussed
at #34371.
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
pedrxd and Bennet Bo Fenner created
821a488
cli: Use --wait to prefer focused window (#41051)
Introduce a new `prefer_focused_window` field to the `workspace::OpenOptions` struct that, when provided, will make it so that Zed opens the provided path in the currently focused window. This will now automatically be set to true when the `--wait` flag is used with the CLI. Closes #40551 Release Notes: - Improved the `--wait` flag in Zed's CLI so as to always open the provided file in the currently focused window --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Dino and Conrad Irwin created
7f17d4b
Add Tailwind CSS and Ruff to built-in features list (#41285)
Closes https://github.com/zed-industries/zed/issues/41168 This PR adds both Tailwind CSS and Ruff (linter for Python) as built-in features; a banner mentioning this should show up now for these two when searching for them in the extensions UI. There will also be a corresponding zed.dev site PR adding a "Ruff is built-in" card to the zed.dev/extensions page. Release Notes: - N/A
Danilo Leal created
ebf4a23
Use `paths::external_agents_dir` (#41286)
We were not actually using `paths::agent_servers` and were manually constructing the path to the `external_agents` folder in a few places. Release Notes: - N/A
Bennet Fenner created
370d4ce
rope: Micro optimize the creation of masks (#41132)
Using compiler explorer I saw that the compiler wasn't clever enough to
optimise away the branches in the masking code. I thought the compiler
would have a better chance if we always branched, which [turned out to
be the case](https://godbolt.org/z/PM594Pz18).
Running the benchmarks the biggest benefit I saw was:
```
push/65536 time: [2.9067 ms 2.9243 ms 2.9417 ms]
thrpt: [21.246 MiB/s 21.373 MiB/s 21.502 MiB/s]
change:
time: [-8.3452% -7.2617% -6.2009%] (p = 0.00 < 0.05)
thrpt: [+6.6108% +7.8303% +9.1050%]
Performance has improved.
```
But I did also see some regressions:
```
slice/4096 time: [66.195 µs 66.815 µs 67.448 µs]
thrpt: [57.915 MiB/s 58.464 MiB/s 59.012 MiB/s]
change:
time: [+3.7131% +5.1698% +6.6971%] (p = 0.00 < 0.05)
thrpt: [-6.2768% -4.9157% -3.5802%]
Performance has regressed.
```
Release Notes:
- N/A
Adam Richardson created
2284131
Add @rtfeldman to reviewers list (#41127)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Richard Feldman created
2f7045f
settings_ui: Show migration banner (#41112)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Danilo <danilo@zed.dev>
Ben Kunkle and Danilo created
5d359ea
remote: Fall back to SCP if SFTP fails (#41255)
Fixes https://github.com/zed-industries/zed/issues/41260 After experimenting and reading through the implementation of OpenSSH stack on Windows, it looks like batch mode precludes use of passwords. In the listing https://github.com/PowerShell/openssh-portable/blob/b8c08ef9da9450a94a9c5ef717d96a7bd83f3332/sshconnect2.c#L417, the last field of each `Authmode` struct is a pointer to the config value that *disables* that particular mode. In this case, `keyboard` (interactive) and `password` modes are both disabled if batch mode is used. We should therefore fall back to `scp` if `sftp` fails rather than to fail outright. Release Notes: - N/A
Jakub Konka created
72c6a74
keymap_editor: Fix updating empty keymap (#40909)
Closes #40898 Release Notes: - Fixed an issue where attempting to add or update a key binding in the keymap editor with an empty `keymap.json` file would fail
Ben Kunkle created
941033e
settings_ui: Add vim motions on navigation menu (#39988)
Closes #ISSUE Release Notes: - Added vim motions on settings navigation menu
Alvaro Parker created
83884ca
lsp: Support tracking multiple registrations of diagnostic providers (#41096)
Closes #40966 Closes #41195 Closes #40980 Release Notes: - Fixed diagnostics not working with basedpyright/pyright beyond an initial version of the document --------- Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com> Co-authored-by: Anthony Eid <hello@anthonyeid.me> Co-authored-by: dino <dinojoaocosta@gmail.com>
Piotr Osiewicz , Smit Barmase , Anthony Eid , and dino created
f503c65
Make "About Zed" menu entry to work when all Zed windows are closed (#41272)
Closes https://github.com/zed-industries/zed/issues/41267 The only downside would be the fact that a Zed window will appear behing the version modal, but this is a limitation for all "window-less" actions currently. Release Notes: - Made "About Zed" menu entry to work when all Zed windows are closed
Kirill Bulatov created
c1cd371
fix: Edit predictions using stale snapshot (#41271)
Release Notes: - N/A *or* Added/Fixed/Improved ... Co-authored-by: David Kleingeld <davidsk@zed.dev>
Lukas Wirth and David Kleingeld created
7cb2d83
acp: Start sending Client Info to the Agent (#41265)
Updates to acp crate 0.7, which allows us to send information about the client to the Agent. In the future, we can also use the AgentInfo on the response for internal metrics. Release Notes: - N/A
Ben Brandt created
ae3abf5
editor: Fix panics in `CursorPosition::update_position` (#41237)
Fixes a regression introduced in https://github.com/zed-industries/zed/pull/39857. As for the exact reason this causes this issue I am not yet sure will investigate (as per the todos in code) Fixes ZED-23R Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
edf2ec7
editor: Make hover popover delay strictly respect hover_popover_delay setting (#41149)
Previously, the hover popover delay was implemented using two overlapping timers, which caused the minimum delay to always be at least HOVER_REQUEST_DELAY_MILLIS, regardless of the hover_popover_delay setting. This change updates the logic to wait for hover_popover_delay only, ensuring the total delay is always equals to hover_popover_delay . As a result, the hover popover now appears after the intended delay, matching the user's configuration more accurately. Release Notes: - Improved hover popover respecting settings delay correctly
deltamaya created