b6fb1d0
settings_ui: Add more settings (#40708)
Click to expand commit body
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
b6fb1d0
settings_ui: Add more settings (#40708)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
0a17f91
chore: Fix displayed git command (#40548)
Too small for release notes IMO Release Notes: - N/A
Mikayla Maki created
7aa0626
editor: Refresh document highlights when expanding excerpts (#40715)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
ea5f3e6
Fix PATH lookup to handle Windows case sensitivity (#40711)
Closes #40448 On Windows, PATH might be "Path" instead of "PATH" Release Notes: - N/A *or* Added/Fixed/Improved ...
ming_jiang created
db404fc
git: Add diff view for stash entries (#38280)
Continues the work from #35927 to add a git diff view for stash entries.
[Screencast From 2025-09-17
19-46-01.webm](https://github.com/user-attachments/assets/ded33782-adef-4696-8e34-3665911c09c7)
Stash entries are [represented as
commits](https://git-scm.com/docs/git-stash#_discussion) except they
have up to 3 parents:
```
.----W (this is the stash entry)
/ /|
-----H----I |
\|
U
```
Where `H` is the `HEAD` commit, `I` is a commit that records the state
of the index, and `U` is another commit that records untracked files
(when using `git stash -u`).
Given this, I modified the existing commit view struct to allow loading
stash and commits entries with git sha identifier so that we can get a
similar git diff view for both of them.
The stash diff is generated by comparing the stash commit with its
parent (`<commit>^` or `H` in the diagram) which generates the same diff
as doing `git stash show -p <stash entry>`. This *can* be
counter-intuitive since a user may expect the comparison to be made
between the stash commit and the current commit (`HEAD`), but given that
the default behavior in git cli is to compare with the stash parent, I
went for that approach.
Hoping to get some feedback from a Zed team member to see if they agree
with this approach.
Release Notes:
- Add git diff view for stash entries
- Add toolbar on git diff view for stash entries
- Prompt before executing a destructive stash action on diff view
- Fix commit view for merge commits (see #38289)
Alvaro Parker created
eda7a49
zeta2: Max retrieved definitions option (#40515)
Release Notes: - N/A
Agus Zubiaga created
8bef480
workspace: Add NewFileSplit action with direction (#39726)
Add new `workspace::NewFileSplit` action which expects a
`SplitDirection` argument, allowing users to programmatically control
the direction of the split in keymaps, for example:
```json
{
"context": "Editor",
"bindings": {
"ctrl-s ctrl-h": ["workspace::NewFileSplit", "left"],
"ctrl-s ctrl-j": ["workspace::NewFileSplit", "down"],
"ctrl-s ctrl-k": ["workspace::NewFileSplit", "up"],
"ctrl-s ctrl-l": ["workspace::NewFileSplit", "right"]
}
}
```
Release Notes:
- Added `workspace::NewFileSplit` action, which can be used to
programmatically split the editor in the provided direction.
Co-authored-by: Rian Drake <rian.drake@rocketwerkz.com>
Co-authored-by: dino <dinojoaocosta@gmail.com>
Rian Drake , Rian Drake , and dino created
67b9d48
project: Make `textDocument/signatureHelp` implementation lsp compliant (#40707)
The parameter label offsets are utf16 offsets, not utf8. Additionally we now validate the language server output. Closes https://github.com/zed-industries/zed/issues/40578 Companion bug on rust-analyzer side https://github.com/rust-lang/rust-analyzer/pull/20876 Release Notes: - Fixed `textDocument/signatureHelp` implementation not being LSP compliant
Lukas Wirth created
30f3152
settings_ui: Use window controls on Linux (#40706)
Closes #40657 Release Notes: - Added window controls to the settings window on Linux.
Smit Barmase created
7c4fb5a
search: New old search implementation (#39956)
This is an in-progress work on changing how task scheduler affects performance of project search. Instead of relying on tasks being executed at a discretion of the task scheduler, we want to experiment with having a set of "agents" that prioritize driving in-progress project search matches to completion over pushing the whole thing to completion. This should hopefully significantly improve throughput & latency of project search. Release Notes: - Improved project search performance --------- Co-authored-by: Smit Barmase <smit@zed.dev> Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Piotr Osiewicz , Smit Barmase , and Smit Barmase created
85c2aa7
Update to acp 0.5 (#40701)
Release Notes: - N/A
Ben Brandt created
08ecaa3
Add comment language injection for supported languages (#39884)
Release Notes: - Added comment language injections for builtin languages. This enables highlighting of `TODO`s and similar notes with the comment extension installed. Signed-off-by: Donnie Adams <donnie@thedadams.com>
Donnie Adams created
96415e2
languages: Separate control flow keywords for JS/TS/TSX (#39801)
Related to #9461, inspired by #39683 `await` and `yield` both seem somewhat debatable on whether they should be considered the be control flow keywords. For now I went with: - `await`: no – The control flow effect of `await` is at a level does not seem relevant for syntax highlighting. - `yield`: yes – `yield` directly affects the output of a generator, and is also included for consistency with Rust (#39683). Happy to change these either direction. <img width="1151" height="730" alt="SCR-20251008-izus" src="https://github.com/user-attachments/assets/533ea670-863a-4c5c-aaa5-4a9bfa0bf0dd" /> --- Release Notes: - Improved granularity of keyword highlighting for JS/TS/TSX: Themes can now specify `keyword.control` for control flow keywords like `if`, `else`, `return`, etc.
Alex Zeier created
9a3c794
docs: Add section about MCP servers with external agents (#40658)
Adding this content after seeing people ask about how to make MCP servers installed from Zed be picked up by external agents. At the moment, this varies depending on the agent, and felt relevant to be documented. Release Notes: - N/A
Danilo Leal created
cc21089
Fix default window size on small displays (#40398)
Fixed: #40039 Fixed: #40404 Fixed: #40272 Fixed: #40666 Release Notes: - N/A
localcc created
bdb7c64
clock: Bump the min collaborator ID (#40694)
This allows us to play with IDs < 8 without having to do another redeploy Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
b827d8c
ai onboarding: Add dismiss button to the sign in banner (#40660)
Release Notes: - N/A
Danilo Leal created
9a72453
Highlight control flow in Rust/C/C++ (#39683)
part of https://github.com/zed-industries/zed/issues/9461 Release Notes: - Added the ability to seperately highlight control flow keywords for Rust, C and C++ for users and theme authors via the `keyword.control` syntax property <img width="805" height="475" alt="スクリーンショット 2025-10-07 22 21 59" src="https://github.com/user-attachments/assets/40ed03ea-a129-44ce-b6d8-284656b9f3ba" />
Hayashi Mikihiro created
43a9368
clock: Cleanup `ReplicaId`, `Lamport` and `Global` (#40600)
- Notable change is the use of a newtype for `ReplicaId` - Fixes `WorktreeStore::create_remote_worktree` creating a remote worktree with the local replica id, though this is not currently used - Fixes observing the `Agent` (that is following the agent) causing global clocks to allocate 65535 elements - Shrinks the size of `Global` a bit. In a local or non-collab remote session it won't ever allocate still. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
37e264a
fs: Reintroduce benchmarks crate (#40689)
It was erroenously removed in #40216 Release Notes: - N/A
Piotr Osiewicz created
94c28ba
Improve TS and JS symbol outline (#39797)
Added more granular symbols for ts and js in outline panel. This is a bit closer to what vscode offers. <details><summary>Screenshots of current vs new</summary> <p> New: <img width="1723" height="1221" alt="image" src="https://github.com/user-attachments/assets/796d3b59-fffa-4a66-9986-f7c75e618103" /> Current: <img width="1714" height="1347" alt="image" src="https://github.com/user-attachments/assets/f7cff463-de2a-4d86-b1a6-e19f4fd8dc6e" /> Current vscode (cursor): <img width="1710" height="1177" alt="image" src="https://github.com/user-attachments/assets/31902d52-becf-4d3f-960d-7e054e00e32d" /> </p> </details> I have never touched scheme before, and pair-programmed this with ai, so please let me know if there's any glaring issues with the implementation. I just miss the outline panel in vscode very much, and would love to see this land. Happy to help with tsx/jsx as well if this is the direction you guys were thinking of taking the outline impl. Doesn't fully close https://github.com/zed-industries/zed/issues/20964 as there is no support for chained class method callbacks or `Class.prototype.method = ...` as mentioned in https://github.com/zed-industries/zed/issues/21243, but this is a step forward. Release Notes: - Improved typescript and javascript symbol outline panel
Daniel Wargh created
36210e7
Make the Yarn SDK path relative to the worktree (#40062)
Let's say you run this: ``` cd ~/proj-a zed ~/proj-b ``` The `zed` process will execute with `current_dir() = ~/proj-a`, but a `worktree_root_path() = ~/proj-b`. The old detection was then checking if the Yarn SDK was installed in `proj-a` to decide whether to set the tsdk value or not. This was incorrect, as we should instead check for the SDK presence inside `proj-b`. Release Notes: - Fixed the Yarn SDK detection when the Zed pwd is different from the opened folder.
Maël Nison created
e3297cd
Add "Setting up Xdebug" section in PHP docs (#40470)
The page about PHP in the docs doesn’t explain how to use Xdebug. I had a lof of trouble setting it up the first time, then recently had another headache trying to get it to work again, because the value for `adapter` had changed from `PHP` to `Xdebug`. It’s likely that my example config isn’t perfect or has redundant stuff or whatever, feel free to amend it. I also took the liberty to set the Phpactor and Intelephense headings to level 3 because I felt like they were part of "Choosing a language server." Release Notes: - N/A
Sylvain Brunerie created
92ff29f
Add Vue language server v3 support (#40651)
Closes https://github.com/zed-extensions/vue/issues/48 Migration guide: https://github.com/vuejs/language-tools/discussions/5456 PR to remove tdsk: https://github.com/zed-extensions/vue/pull/61 Release Notes: - Added support for Vue language server version 3. Know more [here](https://github.com/vuejs/language-tools/releases/tag/v3.0.0). --------- Co-authored-by: MrSubidubi <dev@bahn.sh> Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Smit Barmase , MrSubidubi , and Piotr Osiewicz created
1d3bf97
Add DelayMs type for settings (#40659)
Closes #40610 Release Notes: - N/A
Julia Ryan created
59b87d5
git_ui: When no changes, disable stage/unstage toolbar buttons (#39909)
# Why While working on recent PR I have spotted that "Stage" and "Unstage" buttons in "Uncommited Changes" toolbar are always active, even when there is no changes made locally. <img width="1628" height="656" alt="Screenshot 2025-10-10 at 00 49 06" src="https://github.com/user-attachments/assets/6bdb9ded-17c8-4f84-8649-b297162c1992" /> # How Re-use already existing button states for managing the disabled state of "Uncommited Changes" toolbar buttons when changeset is empty. Release Notes: - Added disabled state for "Uncommited Changes" toolbar buttons when there are no changes present # Preview <img width="1728" height="772" alt="Screenshot 2025-10-10 at 08 40 14" src="https://github.com/user-attachments/assets/ff41d852-974e-4ce1-9163-ecd30e17d5d8" />
Bartosz Kaszubowski created
fd4682c
Remove Windows beta issue template (#40650)
Release Notes: - N/A
Joseph T. Lyons created
f2b966b
remote: Use SFTP over SCP for uploading files and directories (#40510)
Closes #37322 Uses SFTP if available, otherwise falls back to SCP for uploading files and directories to remote. This fixes an issue on older macOS versions where outdated SCP can throw an ambiguous target error. Release Notes: - Fixed an issue where extensions wouldn’t work when SSHing into a remote from older macOS versions.
Smit Barmase created
4507110
settings: Remove unused `stream_edits` setting in `agent` (#40640)
This setting is unused (we always stream edits) Release Notes: - N/A
Bennet Fenner created
1b43a63
fs: Fix `RealFs::open_handle` implementation for directories on windows (#40639)
Release Notes: - Fixed worktree names not updating when renaming the root folder on windows
Lukas Wirth created
8f3f723
gpui: Add exit in tab title update loop (#40628)
Release Notes: - N/A --------- Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Xiaobo Liu created
5f13ce6
docs: Update section about installing extensions locally (#40636)
Release Notes: - N/A
Finn Evers created
5738781
terminal_ui: Terminal failed to spawn UI (#40246)
Co-authored-by: Piotr piotr@zed.dev Co-authored-by: Lukas lukas@zed.dev Co-authored-by: Lukas Wirth <me@lukaswirth.dev> Co-authored-by: Gaauwe Rombouts <mail@grombouts.nl> Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Cameron Mcloughlin , Piotr piotr@zed.dev , Lukas lukas@zed.dev , Lukas Wirth , Gaauwe Rombouts , and Danilo Leal created
197d244
image_viewer: Use buffer font in breadcrumbs (#40601)
# Why Spotted that image path in editor breadcrumb uses regular (UI) font in comparison to paths of any other code-related files. <img width="842" height="214" alt="Screenshot 2025-10-18 at 19 32 55" src="https://github.com/user-attachments/assets/07823fd2-778a-4341-a647-3ab50192c8fa" /> # How Use buffer font for image path in Image Viewer breadcrumbs. Release Notes: - Aligned appearance of path displayed by Image Viewer breadcrumbs with other panes. # Preview ### Before <img width="842" height="214" alt="Screenshot 2025-10-18 at 19 26 17" src="https://github.com/user-attachments/assets/921df27f-c104-457e-908c-e4beaea3a27e" /> ### After <img width="842" height="214" alt="Screenshot 2025-10-18 at 19 24 17" src="https://github.com/user-attachments/assets/112ce5f3-1a2b-40e4-bf4f-e258f3518812" />
Bartosz Kaszubowski created
6d97598
Register rules files as Markdown (#40614)
Release Notes: - `.rules`, `.cursorrules`, `.windsurfrules`, and `.clinerules` are now syntax highlighted as Markdown files.
Joseph T. Lyons created
3aee143
python: Only enable basedpyright and ruff by default (#40604)
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)
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)
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)
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)
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)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Bedis Nbiba created
219ae05
Add a doc on crafting release notes (#40557)
Release Notes: - N/A
Joseph T. Lyons 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