e6f571c
gpui: Fix busyloop on X disconnect (#41986)
Click to expand commit body
When the connection to X is broken zed will go into an infinite loop and
eat up 100% (of one core) of CPU; this change causes it to exit with an
error instead.
I encountered this behavior while running zed in
[Xephyr](https://freedesktop.org/wiki/Software/Xephyr/) for testing,
though I do sometimes terminate my X server as a way to log out or
attempt to recover from a (very) broken state, and I appreciate a
graceful exit in those situations!
Exiting in case of X server disconnect is common practice in my
observations, likely as the difficulty of recreating state stored
server-side outweighs the potential utility in attempting to recover (if
"reconnecting" to an X server is ever desired in regular usage,
[Xpra](https://xpra.org/index.html) might be able to help!).
Release Notes:
- N/A
This PR introduces the `project_panel.scrollbar.horizontal_scroll`
setting to allow users to toggle the horizontal scroll bar in the
project panel. This was Zed's design before PR #18513, and the default
behavior of VSCode (`workbench.list.horizontalScrolling`).
https://github.com/user-attachments/assets/f633f4e4-a585-4494-8f48-df77c6aca418
## Rationale
Zed's design used to be the same as the default behavior of VSCode.
I.e., no horizontal scrolling, and the view is always snapped to the
left, with long file names clipped of. If you want to see the content
that is out-of-frame, you'll need to drag the handle and expand the
project panel. This could be problematic, especially for large repos
with multiple levels of nested directories, as pointed out by issues
#5550 and #7001.
<img width="1398" height="992" alt="image"
src="https://github.com/user-attachments/assets/d86563f2-0f06-4e9e-818c-155ac45f0f56"
/>\
*VSCode's default setup, for reference.*
Then came PR #18513, which added horizontal scroll and addressed this
pain point, but users didn't have a choice. They're stuck with
horizontal scrolling always turned on. I, for instance, personally
prefer the old, VSCode-default behavior, for most projects I open are
small and don't need horizontal scrolling in the project panel. With
horizontal scrolling always turned on, I find it annoying to have my
project panel view accidentally scrolled to the middle, and I'll have to
grab my mouse and scroll it back. It's also visually redundant.
Thus, why not add an option like VSCode's
`workbench.list.horizontalScrolling` and let users choose? I'd love to
be able to, say, set a per-project override for the projects that need
horizontal scrolling, while having it disabled by default.
## Extra Notes
- I was originally thinking about using `ScrollbarAxes` from
`src/editor_settings.rs` and make the option
`project_panel.scrollbar.axes.horizontal` similar to the global editor
scrollbar settings, but this option is specific to the project panel and
it doesn't quite make sense to allow disabling vertical scrolling on the
project panel, so I added a standalone option for it instead, similar to
VSCode's `workbench.list.horizontalScrolling`.
- I went the conservative route and set horizontal scrolling to enabled
(current behavior) by default. Imo it might make more sense to disable
it by default instead, similar to VSCode, but I'll leave this for the
Zed team to decide.
- I named it `horizontal_scroll` instead of `horizontal_scrolling` to be
consistent with the adjacent setting `sticky_scroll`.
- As for tests, I don't see tests for the scrollbar, so I didn't add
any.
I'd be glad to update the PR if anything is not inline with the
project's requirements or conventions.
---
Release Notes:
- Added `project_panel.scrollbar.horizontal_scroll` setting to allow
toggling horizontal scrolling in the project panel
Signed-off-by: k4yt3x <i@k4yt3x.com>
K4YT3X
created
bde0834
git: Log some more information when opening a git repository and when `git show` fails (#51495)
Click to expand commit body
Release Notes:
- N/A
Cole Miller
created
697e5be
git: Fix commit message generation in untrusted projects and block external diff (#51323)
Click to expand commit body
When on a untrusted project, if one was to try and use the commit
generation functionality, the command would fail because of the `-c
diff.external` configuration provided in `GitBinary::build_command`, as
git would interpret this as `""` and try to run that command.
This `-c diff.external` is a good safeguard to have on untrusted
repositories because it prevents random commands, configured in
`.git/config` from being run. For example, if one uses `git config
diff.external "touch bananas.txt"` and then run `git diff`, a new
`bananas.txt` file would be created.
However, it was still possible to bypass this safeguard using the
following strategy:
1. Specify a custom diff for a specific file format. For example, for
markdown files, with `printf '*.md diff=pwned\n' > .gitattributes`
2. Update the command run by the `pwned` diff, for example, `git config
diff.pwned.command "touch bananas.txt"`
3. Open Zed and attempt to generate a commit message in an untrusted
repository and check that a new `bananas.txt` file was created
This is only prevented by using the `--no-ext-diff` flag on the `diff`
command, so a new `GitBinary::build_diff_command` has been introduced
which simply wraps `GitBinary::build_command` and adds the
`--no-ext-diff` flag, if necessary.
As a side-effect, this also makes it so that generating a commit message
in an untrusted repository works again, which was accidentally broken on
https://github.com/zed-industries/zed/pull/50649 .
Before you mark this PR as ready for review, make sure that you have:
- [X] Added a solid test coverage and/or screenshots from doing manual
testing
- [X] Done a self-review taking into account security and performance
aspects
- [X] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Fixed commit message generation in untrusted repositories
Dino
created
3e7f2e3
agent_ui: Add branch diff menu item to context menu (#51487)
Click to expand commit body
This PR adds the recently introduced "branch diff" mention option to the
"Add Context" menu in the message editor:
<img width="450" height="582" alt="Screenshot 2026-03-13 at 9 58@2x"
src="https://github.com/user-attachments/assets/1f5102e7-9018-4a5b-992d-43befa55dcbe"
/>
Release Notes:
- N/A
Release Notes:
- Added an error indicator in the edit prediction menu with an error
message when the free tier limit is exceeded
Ben Kunkle
created
7d566e0
extension_ci: Add initial support for extensions in a subdirectory (#51173)
Click to expand commit body
This wil help with releases for extensions living this repository, which
will become more relevant once agent provider extensions are back on the
table.
Release Notes:
- N/A
Finn Evers
created
46f16c7
docs: Introduce fresh documentation for snippets in extensions (#50874)
Click to expand commit body
Add documentation for snippets in extensions.
Feel free to change the wording or add more content.
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A
---------
Co-authored-by: Finn Evers <finn.evers@outlook.de>
LBF38
and
Finn Evers
created
0674324
agent: Fix session close capability check (#51479)
Click to expand commit body
Release Notes:
- agent: Fixed an issue where external agents would return an error
because unsupported ACP method was called
Bennet Bo Fenner
created
6fb9680
agent_ui: Wire up archive entry loading (#51475)
5ab2d97
Revert "project: Support resolving paths with worktree names prefixed" (#51474)
Click to expand commit body
Reverts zed-industries/zed#50692
The test here doesn't pass, unsure how this managed to even get merged
Lukas Wirth
created
3bc4b58
editor: Replace `BreadcrumbText` with `HighlightedText` (#51083)
Click to expand commit body
Remove the BreadcrumbText struct from workspace and use the existing
HighlightedText struct from the language crate instead. The per-segment
font field is replaced by returning an optional Font alongside the
segments from the breadcrumbs() method, since the font was always
uniform across all segments of a given item.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
e4b6286
file_finder: Show collab channels in file search (#51120)
Closes #51450
When you restart the lsp, it does not sufficiently clear cached data
regarding the semantic tokens, if using semantic_tokens = "full", this
would mean that you would have no syntax highlighting. also, toggling on
and off semantic tokens in the menu would have no effect. this change
properly clears the cached state and things work again!
Before:
https://github.com/user-attachments/assets/67ac1be1-ae3d-4c84-afbc-056fd81f63f0
After:
https://github.com/user-attachments/assets/644f8297-8003-4d74-b962-81ba9bb8274c
You might notice that the syntax highlighting is quite spare in the
videos, especially compared to the non semantic token based
highlighting, and you would be correct! but thats just how it is with
`semantic_tokens: "full"`, other editors, like neovim, provide basic
syntax highlighting that zed doesn't (because it doesn't need to with
treesitter usually, but here treesitter is disabled), however if we turn
off that syntax highlighting we can see that neovim actually matches zed
here:
<img width="847" height="485" alt="Screenshot 2026-03-12 at 11 33 19 PM"
src="https://github.com/user-attachments/assets/7f90789c-dac3-41bf-9d19-640c6c7b1144"
/>
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- lsp: Fixed restarting the LSP breaking semantic token highlighting.
Finn Eitreim
created
07cfa81
Grace period for inaccessible workspaces (#50829)
Click to expand commit body
Closes #49603
Release Notes:
- Added a 7-day grace period to prevent recently used local workspaces
from being deleted when their paths are temporarily unavailable. Session
workspaces are always preserved on restart.
Oussama ELJabbari
created
7eb009e
editor: Make underscores and newlines subword boundaries (#50552)
Click to expand commit body
Updates #21054
Authored-By: @ngauder
Release Notes:
- Added _ and newline to subword boundaries
---------
Co-authored-by: Nikolas Gauder <nikolas.gauder@tum.de>
ea5c58c
ui: Add new component for thread sidebar panel toggle (#51441)
Danilo Leal
created
8e04523
gpui: Hide XF86 keybindings from menus and keybinding hints (#50540)
Click to expand commit body
Closes #50436
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Fixed XF86 multimedia key names ("New", "Save", "Open") being shown as
keybinding hints in menus instead of the actual keyboard shortcuts.
João Soares
created
7aba1f9
Fix leak detector on HeadlessAppContext (#51442)
Click to expand commit body
Closes #ISSUE
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A
Conrad Irwin
created
7b9afc8
gpui: Recalculate list layout after the window has been resized (#51414)
Click to expand commit body
Closes #51417
I noticed this bug in the settings menu where when I opened the settings
menu, I could not scroll down through all the available options, eg. on
the initial page I wasn't able to scroll down to privacy. When I saw
that no one else had reported this issue, I figured it may be due to my
setup, and it turns out that using Aerospace, the window manager I use,
was what made this bug visible to me. Because aerospace resizes the
window right after it launches, the originally computed heights for the
list are incorrect, meaning the scroll bar is the wrong size as well.
in the relevant code there was a comment that says "If the width of the
list has changed, invalidate all cached item heights" which wasn't
incorrect per-se, but it just invalidated them without triggering any
re-computation, causing incorrect scroll bars.
My intuition is that window resizes/events that change the width of the
list bounds are fairly rare, so there shouldn't be a large performance
hit from the change.
Also implemented a test that directly showcases the behavior, if you run
the test without the change it fails, as the max_offset_for_scrollbar
will be wrong.
Videos:
Before
https://github.com/user-attachments/assets/2b680222-7071-4098-863f-519361f0756a
After:
https://github.com/user-attachments/assets/1222a299-23d7-4007-8e88-55d2daccce64
[x] Tests
[x] Video of behavior
Release Notes:
- gpui: fixed list height re-computation when the list width changes.
Just cleaning up our component set a bit. This one wasn't used at all.
Release Notes:
- N/A
Danilo Leal
created
b15a8c1
docs: Clarify that `"..."` enables all other registered language servers (#51427)
Click to expand commit body
Closes #51416
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A
Justin Su
created
a07d0f4
Assign meaningful names to some single-letter bindings (#51432)
Click to expand commit body
This PR assigns meaningful names to some single-letter bindings we were
using to refer to the organization.
Release Notes:
- N/A
Marshall Bowers
created
9424836
Make dispatcher on TestApp public again (#51431)
Closes #49854
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] No UI changes
Video for the fix:
in the video i open a project -> close the project -> quit out of zed ->
reopen zed -> zed opens to an empty workspace which was not the case
before
https://github.com/user-attachments/assets/1afb44a1-932b-4dab-8228-9d9d65750b6e
Release Notes:
- Fixed closed projects re-opening erroneously
Amaan
created
5e60aa9
Implement worktree interactions for the sidebar (#51421)
Click to expand commit body
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A
Mikayla Maki
created
dd0e51e
agent_ui: Disable pickers while thread is generating (#50519)
Click to expand commit body
It does not make sense to enable them during the running turn and it can
lead to more confusing states if subagents are used.
Release Notes:
- N/A
---------
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
- **Fix race condition in test_collaborating_with_completion**
- **WIP: Integrate scheduler crate into GPUI TestDispatcher**
- **WIP: scheduler integration debugging**
- **Fix formatting**
- **Unify RunnableMeta and add execution tracking to TestScheduler**
- **Remove unused execution tracking from TestScheduler and
TestDispatcher**
- **Add is_ready() to GPUI Task for API parity with scheduler**
- **Eliminate RunnableVariant::Compat - all runnables now have source
location metadata**
- **Update integration plans to reflect completed phases**
- **Simplify RunnableVariant to type alias**
- **Delegate TestDispatcher task queues to TestScheduler (Phase 2b)**
- **Remove waiting_hint/waiting_backtrace and debug logging from
TestDispatcher**
- **Remove wrapper methods from TestDispatcher - access scheduler()
directly**
- **Update integration plan with complete state and instructions for
full scheduler migration**
- **Use scheduler's native timer() and simplify TestDispatcher**
- **Fix rng() usage to lock mutex, update plan with SharedRng wrapper**
- **Add SharedRng wrapper for ergonomic random number generation**
- **Update plan: mark Phase 1 (SharedRng) as complete**
- **Update scheduler integration plan with Phase 2 investigation notes**
- **Phase 3: Delegate simulate_random_delay to
scheduler.yield_random()**
- **Phase 4: Remove TaskLabel**
- **Phase 5 (WIP): Simplify block_internal and remove unparkers**
- **Phase 5 Complete: Scheduler integration finished**
- **Update integration plan with code review findings**
- **Phase 6 & 7: Restore realtime priority support and delete dead
code**
- **Add TestApp and TestAppWindow for cleaner GPUI testing**
- **Fix formatting across the branch**
- **Fix Linux build: add explicit type annotation and rename
probability() to weight()**
- **Add TestApp and TestAppWindow for cleaner GPUI testing**
- **Rename TestAppWindow to TestWindow, internal TestWindow to
TestPlatformWindow**
- **Remove unused RunnableVariant imports on Linux**
- **Add STATUS.md for next agent**
- **Run cargo fmt**
- **Use per-app element arena only and scope test draws**
- **Fix collab tests for scheduler timing and ordering**
- **Store element arena on App and route element allocations through
draw scope**
- **Fix TestScheduler lock ordering between rng and state**
- **Fix inlay hints test by explicitly triggering refresh after viewport
setup**
- **Add scheduler integration regression risk analysis doc**
- **Fix tests: avoid caching Entity in global OnceLock for Codestral API
key**
- **Document learned weak point: global cached Entity handles break
across App contexts**
- **Add scheduler regression test for block_with_timeout continuation
and explicit time advancement**
- **Document TestScheduler timeout tick budget behavior and explicit
time advancement guidance**
- **Add test asserting realtime priority spawns panic under
TestDispatcher**
- **Document realtime priority determinism contract in tests**
- **Remove realtime priority until we have a concrete use case (cc
@localcc)**
- **Update STATUS for scheduler integration decisions and realtime
priority removal**
- **Fix prettier docs and clippy in scheduler tests**
- **Remove unused imports from Windows dispatcher**
- **WIP: scheduler integration debugging + agent terminal diagnostics**
- **Update scheduler integration status**
- **Remove temporary planning docs, consolidate into scheduler
integration doc**
- **Remove unrelated changes from scheduler integration**
- **Fix clippy errors**
- **Add STATUS.md with debugging instructions for Linux/Windows hang**
- **WIP: local changes needed by ex**
- **Add pointer capture API for stable drag handling**
- **Add pointer capture API for stable drag handling**
- **chore: update generated cargo manifests**
- **gpui: Expose ShapedLine::width() for pen advancement**
- **Remove git2 usage from util test.rs**
- **Store DiagnosticQuad bounds in logical Pixels**
- **WIP: executor and test_app changes for scheduler integration**
- **Expose font APIs publicly**
- **gpui: add typed diagnostics and record_diagnostic API**
- **WIP: gpui test window diagnostics changes**
- **Add LineCacheKey trait and shape_line_cached API for
content-addressable shaping**
- **Fix RenderGlyphParams field additions for Ex compatibility**
- **Add doc comment for recommended_rendering_mode, fix formatting**
- **Add scheduler_executor() method for Ex compatibility**
- **Fix TestWindow -> TestPlatformWindow in test_context.rs**
- **Add headless metal renderer and window focus improvements**
- **Fix double borrow in TestWindow::simulate_resize**
- **Fix cbindgen panic: remove default type parameter from
Diagnostic<T>**
- **Implement AppContext for HeadlessMetalAppContext**
- **Missing trait impls**
- **Add ShapedLine::split_at and eliminate re-shaping in soft wraps**
- **Add handoff doc for platform-neutral-tests merge**
- **Remove ex-only test infrastructure before merging main**
- **Add cross-platform HeadlessAppContext with pluggable text system**
- **Export platform_text_system() from gpui_windows for cross-platform
tests**
- **Restore TestApp/TestAppWindow with pluggable text system support**
- **Add TestApp::open_window_sized for tests that need specific window
dimensions**
- **Fix some warnings**
- **Fixes**
- **Add a platform-neutral headless renderer interface**
- **Synchronize Managed texture before CPU readback on discrete GPUs**
- **Allow creating TestDispatcher with custom scheduler**
Release Notes:
- N/A
---------
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: John Tur <john-tur@outlook.com>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Conrad Irwin
,
Nathan Sobo
,
John Tur
,
Agus Zubiaga
, and
Antonio Scandurra
created
Small tweaks to our feature doc and a link out to more about how the
Feature Request process works.
Release Notes:
- N/A
franciskafyi
created
df8bafd
ep: Avoid including collaborator edits in edit history sent to model (#51343)
Click to expand commit body
Closes #ISSUE
Before you mark this PR as ready for review, make sure that you have:
- [ ] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Ben Kunkle
created
5586fbf
agent_ui: Add UI refinements to the sidebar and archive view (#51419)
Click to expand commit body
Adds a loading state to the archive view and a couple of other tiny UI
tweaks to the thread item and such.
Release Notes:
- N/A
Danilo Leal
created
ec2659a
Add hotkeys and actions for toggle light and dark theme (#49027)
Click to expand commit body
Mentioned in #47258
Release Notes:
- Added hotkey options and actions for toggling light and dark theme.
- Add default keymap as `cmd/ctrl+k cmd/ctrl+shift+t`
Tommy Han
created
7a61562
Fix title/camelCase commands stripping leading indentation Fixes (#50523)
Click to expand commit body
Fixes: #48945
Description:
The convert:to-title-case, convert:to-upper-camel-case, and
convert:to-lower-camel-case editor commands were stripping leading
whitespace from each line of a multi-line selection.
Root cause: The conversion functions split on whitespace using
.split_whitespace() and then joined the resulting words, discarding any
leading spaces/tabs before the first word on each line.
Fix: Each line now preserves its leading whitespace by capturing and
re-prepending it before applying the case conversion.
Tests: Added test cases covering multi-line selections with indentation
for all three commands.
Video :
[bug1fix.webm](https://github.com/user-attachments/assets/f4d25c55-bc6d-44e6-a989-7d9b4bc59ac9)
Release Notes:
- Fixed trailing whitespace handling on text case changes
Release Notes:
- Tweaked the git diff status to render + and - using the font instead
of icons.
Conrad Irwin
created
ac16a78
vim: Fix visual mode entry at line end near trailing newline (#50709)
Click to expand commit body
In Helix, selecting a line with `x` creates a selection from column 0 of
the current row to column 0 of the next row. The default
`InsertEndOfLine` uses the selection head (which is on the next row) to
find the line end, placing the cursor on the wrong line.
This commit introduces a new `HelixInsertEndOfLine`, mapped by default
to `shift-a` when Helix mode is enabled, that moves left from the head
first to land on the correct line.
Release Notes:
- Fixed `shift-a` in Helix select mode placing the cursor on the wrong
line after selecting with `x`
---------
Co-authored-by: SkandaBhat <9384046+SkandaBhat@users.noreply.github.com>
Co-authored-by: dino <dinojoaocosta@gmail.com>
Skanda Bhat
,
SkandaBhat
, and
dino
created
329df2c
docs: Add voice and tone guidance to agent rules (#51408)
Click to expand commit body
Adding more tone guidance to docs' agents.md file
Release Notes:
- N/A *or* Added/Fixed/Improved ...
---------
Co-authored-by: María Craig <maria@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Katie Geer
,
María Craig
, and
Zed Zippy
created
17adc40
Implement sidebar rendering of the configured worktrees (#51342)
Click to expand commit body
Implements worktree support for the agent panel sidebar
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- N/A
The gutter hitbox would previously check the hover using the position,
ignoring any occluding hitboxes rendered above it.
This would then trigger the crease toggles to show which should not
happen in that case, since the gutter was not really hovered.
Release Notes:
- Fixed an issue where the crease toggles in the gutter would sometimes
show when interacting with a popover present over the editor gutter.
Finn Evers
created
a8d0cdb
project_panel: Improve wording around file deletion (#43801)
Click to expand commit body
Make it clear in the UI that "Delete" of file or folder is permanent
action.
For example in windows explorer and VS Code "Delete" means move to
trash.
Or maybe also remove permanent delete from the context menu completely
and allow it only through keyboard shortcut, like it's in Windows
Explorer, VS Code and KDE Dolphin file manager.
Release Notes:
- Improved wording within file deletion prompts in the projetct panel.
---------
Co-authored-by: MrSubidubi <finn@zed.dev>
AdamJedl
and
MrSubidubi
created
4bd1a09
editor: Fix bracket colorization with folds and large functions (#51108)
Click to expand commit body
Closes #47846
`visible_excerpts` computed the visible buffer range by adding display
line count directly to the buffer start row:
```rust
// Before
multi_buffer_visible_start + Point::new(visible_line_count, 0)
```
This ignores folds entirely. When a 700-line function is folded into one
display line, content after the fold is visible on screen but falls
outside the computed buffer range, so its brackets are never colorized.
The fix converts through display coordinates so the fold/wrap layers are
respected:
```rust
// After
let display_end = DisplayPoint::new(display_start.row + visible_line_count, 0);
let multi_buffer_visible_end = display_end.to_point(&display_snapshot);
```
### Results
**Before Fix**
<img width="852" height="778" alt="스크린샷 2026-03-10 오후 8 29 10"
src="https://github.com/user-attachments/assets/a0d2d81f-a8b2-4cf4-b1f3-cf5f8288a696"
/>
**After Fix**
<img width="1031" height="794" alt="스크린샷 2026-03-10 오후 8 32 27"
src="https://github.com/user-attachments/assets/2b0496b1-8302-4248-b73a-c31f5d0b0c4b"
/>
Before you mark this PR as ready for review, make sure that you have:
- [X] Added a solid test coverage and/or screenshots from doing manual
testing
- [ ] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Fixed bracket colorization not working for content after folded
regions and for functions with large bodies.
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Lee ByeongJun
and
Kirill Bulatov
created
86b5e92
docs: Fix incorrect binary name for `visual_test_runner` (#51153)
Click to expand commit body
Fix binary name in macOS's development guide.
Closes #51151
Release Notes:
- N/A
Anikesh kumar
created
2ddb1e6
agent_ui: Add archive view to the sidebar (#51336)
Click to expand commit body
This PR adds a button to the bottom of the sidebar that opens the
archive view, which at the moment, only shows the same, uncategorized
thread list available in the regular agent panel's history view.
Release Notes:
- N/A
---------
Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Co-authored-by: Bennet Bo Fenner <53836821+bennetbo@users.noreply.github.com>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Danilo Leal
,
Bennet Bo Fenner
,
Bennet Bo Fenner
, and
Zed Zippy
created
edc8255
docs: Add Vue language server configuration (#51356)
Click to expand commit body
Follow-up to https://github.com/zed-extensions/vue/pull/87.
Release Notes:
- N/A
Kunall Banerjee
created
4842e09
editor: Skip `stop_at_indent` for single-line editors (#50681)
Click to expand commit body
In single-line editors like the Find bar, MoveToBeginningOfLine with
stop_at_indent should go directly to column 0 instead of stopping at the
indentation level.
Closes #50634
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [ ] Aligned any UI changes with the [UI
checklist](https://github.com/zedindustries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
Release Notes:
- Fixed `MoveToBeginningOfLine` stopping at indentation in single-line
editors like the Find bar instead of moving to column 0.
Viraj Bhartiya
created
7b69324
Truncate long diagnostic messages in the status bar (#51031)
Click to expand commit body
Closes #50186
Before you mark this PR as ready for review, make sure that you have:
- [x] Added a solid test coverage and/or screenshots from doing manual
testing
- [x] Done a self-review taking into account security and performance
aspects
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
## Screenshots:
### Before:
<img width="2543" height="39" alt="image"
src="https://github.com/user-attachments/assets/5e9fb7c5-0ba6-44b5-a0f6-1f63b35550f6"
/>
### After:
<img width="1165" height="581" alt="image"
src="https://github.com/user-attachments/assets/903bc637-7d38-48c5-9207-30e12eaa40de"
/>
Release Notes:
- Fixed long diagnostic messages in the status bar pushing right-side
buttons (terminal, agent, etc.) off screen
João Soares
created
8e78b9f
Fix window drags when dragging button/input on titlebar in macOS (#51400)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/27500
This PR fixes an issue on macOS where dragging title bar buttons and
other UI elements would drag the window instead of no-op, like in native
Mac apps. That made interactions like selecting text with the mouse
impossible in those areas, including the title input in Rules Library.
We don't want to handle this at GPUI level, since you might still want
this dragging behavior while having no native titlebar for some apps,
and without implementing your own handler. So, we just handle this for
Zed.
On macOS, we now set `is_movable: false` on all windows, which disables
that drag-anything behavior and relies on the native window drag handler
for window dragging instead.
This also meant implementing a platform title bar for the sidebar in
Rules Library, since dragging there was previously handled by the
`is_movable` behavior. We already had a full-width platform title bar
there on other platforms. On macOS, it is sidebar-only to keep existing
design.
Release Notes:
- N/A