29cc3d0
gpui: Add to support check state to MenuItem (#39876)
Click to expand commit body
Release Notes:
- N/A
---
https://github.com/user-attachments/assets/d46b77ae-88ba-43da-93ad-3656a7fecaf9
The system menu is only support for macOS, so here just modify the macOS
platform special code.
The Windows, Linux used `ApplicationMenu`, I have already added
`checked` option to Zed's ContextMenu.
Then later when this PR merged, we can improve "View" menu to show check
state to panels (Project Panel, Outline Panel, ...).
Jason Lee
created
760747f
markdown: Add support for `HTML` table captions (#41192)
Click to expand commit body
Thanks to @Angelk90 for pointing out that, we were missing this feature.
So this PR implement the caption feature for HTML tables for the
markdown preview.
**Code example**
```html
<table>
<caption>Revenue by Region</caption>
<tr>
<th rowspan="2">Region</th>
<th colspan="2">Revenue</th>
<th rowspan="2">Growth</th>
</tr>
<tr>
<th>Q2 2024</th>
<th>Q3 2024</th>
</tr>
<tr>
<td>North America</td>
<td>$2.8M</td>
<td>$2.4B</td>
<td>+85,614%</td>
</tr>
<tr>
<td>Europe</td>
<td>$1.2M</td>
<td>$1.9B</td>
<td>+158,233%</td>
</tr>
<tr>
<td>Asia-Pacific</td>
<td>$0.5M</td>
<td>$1.4B</td>
<td>+279,900%</td>
</tr>
</table>
```
**Result**:
<img width="1201" height="774" alt="Screenshot 2025-10-25 at 21 18 01"
src="https://github.com/user-attachments/assets/c2a8c1c2-f861-40df-b5c9-549932818f6e"
/>
Release Notes:
- Markdown preview: Added support for `HTML` table captions
Remco Smits
created
d4ec55b
editor: Correctly handle blocks spanning more than 128 rows (#42172)
Click to expand commit body
Release Notes:
- Fixed block rendering for blocks spanning more than 128 rows
* Fix a panic that happened because we lost the
`ContextRetrievalStarted` debug message, so we didn't assign `t0`.
* Write the edit prediction response log file as a markdown file
containing the text, not a JSON file. We mostly always want the text
content.
Release Notes:
- N/A
Max Brunsfeld
created
e43c436
Create sentry releases in after_release (#42169)
Click to expand commit body
This had been moved to auto-release preview, and was not running for
stable.
Closes #ISSUE
Release Notes:
- N/A
If we are in a remote session with the remote dropped, this path is very
much reachable if the call to this function got queued up in a task.
Fixes ZED-124
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
00eafe6
git: Make long-running git staging snappy in git panel (#42149)
Click to expand commit body
Previously, staging a large file in the git panel would block the UI
items until that operation finished. This is due to the fact that
staging is a git op that is locked globally by git (per repo) meaning
only one op that is modifying the git index can run at any one time. In
order to make the UI snappy while letting any pending git staging jobs
to finish in the background, we track their progress via `PendingOps`
indexed by git entry path. We have already had a concept of pending
operations however they existed at the UI layer in the `GitPanel`
abstraction. This PR moves and augments `PendingOps` into the model
`Repository` in `git_store` which seems like a more natural place for
tracking running git jobs/operations. Thanks to this, pending ops are
now stored in a `SumTree` indexed by git entry path part of the
`Repository` snapshot, which makes for efficient access from the UI.
Release Notes:
- Improved UI responsiveness when staging/unstaging large files in the
git panel
Jakub Konka
created
5044e6a
zeta2: Make eval example file format more expressive (#42156)
Click to expand commit body
* Allow expressing alternative possible context fetches in `Expected
Context` section
* Allow marking a subset of lines as "required" in `Expected Context`.
We still need to improve how we display the results. I've removed the
context pass/fail pretty printing for now, because it would need to be
rethought to work with the new structure, but for now I think we should
focus on getting basic predictions to run. But this is progress toward a
better structure for eval examples.
Release Notes:
- N/A
---------
Co-authored-by: Oleksiy Syvokon <oleksiy.syvokon@gmail.com>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Max Brunsfeld
,
Oleksiy Syvokon
,
Ben Kunkle
, and
Agus Zubiaga
created
784fdca
zeta2: Build edit prediction prompt and process model output in client (#41870)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Agus Zubiaga <agus@zed.dev>
Co-authored-by: Ben Kunkle <ben@zed.dev>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Max Brunsfeld
,
Agus Zubiaga
,
Ben Kunkle
, and
Piotr Osiewicz
created
fb87972
settings_ui: Use any open workspace window when opening settings links (#42106)
8cccb5d
Use windows runner for publishing winget package (#42144)
Click to expand commit body
Our new linux runners don't have powershell installed which causes the
`release-winget` job to fail. This simply runs that step on windows
instead.
Release Notes:
- N/A
Julia Ryan
created
2895d31
Fix tab switcher close item using wrong pane (#42138)
Click to expand commit body
Closes #40646
Release Notes:
- Fixed `tab_switcher::CloseSelectedItem` doing nothing on tab in
inactive pane
Co-authored-by: Cole Miller <cole@zed.dev>
Andrew Farkas
and
Cole Miller
created
a112153
Enable image support in remote projects (#39158)
Click to expand commit body
Adds support for opening and displaying images in remote projects. The
server streams image data to the client in chunks, where the client then
reconstructs the image and displays it. This change includes:
- Adding `image` crate as a dependency for remote_server
- Implementing `ImageStore` for remote access
- Creating proto definitions for image-related messages
- Adding handlers for creating images for peers
- Computing image metadata from bytes instead of reading from disk for
remote images
Closes #20430
Closes #39104
Closes #40445
Release Notes:
- Added support for image preview in remote sessions.
- Fixed #39104
<img width="982" height="551" alt="image"
src="https://github.com/user-attachments/assets/575428a3-9144-4c1f-b76f-952019ea14cc"
/>
<img width="978" height="547" alt="image"
src="https://github.com/user-attachments/assets/fb58243a-4856-4e73-bb30-8d5e188b3ac9"
/>
---------
Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com>
Agents running in extensions need to have a root directory of the
extension's dir for installation and authentication, but *not* for the
conversation itself - otherwise the agent is running things like
terminal commands in the wrong dir.
Release Notes:
- Fixed Agent Server extensions having the current working directory of
the extension rather than the project
Richard Feldman
created
ba136ab
editor: Add action to move between snippet tabstop positions v2 (#42127)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/41407
This PR fixes the issues that caused #41407 to be reverted in #42008.
Namely that the action context didn't take into account if a snippet
could move backwards or forwards, and the action shared the same key
mapping as `editor::MoveToPreviousWordStart` and
`editor::MoveToNextWordEnd`.
I changed the default key mapping for the move to snippet tabstop to tab
and shift-tab to match the default behavior of other editors.
Release Notes:
- Editor: Add actions to move between snippet tabstop positions
Anthony Eid
created
2d45c23
remote: Flush to stdin when writing to sftp 2 (#42126)
b78f199
Allow for using config specific `gdb` binaries in gdb adapter (#37193)
Click to expand commit body
I really need this for embedded development in IDF and Zephyr, where the
chip vendors sometimes provide there own specialized version of the
tools, and I need to direct zed to use these.
The current GDB adapter only supports the gdb it find in the normal
search path, and it also seems like we where not able to transfer gdb
specific startup arguments (only `-i=dap` is set) .
In order to fix this I (semi wipe using GPT-4.1) expanded the GDB
adapter with 2 new config options :
* **gdb_path** holds a full path to the gdb executable, for now only
full path or relative to cwd
* **gdb_args** an array holding additional arguments given to gdb on
startup
It seemed to me, like the `env` config did not transferred to gdb, so
this is added to.
I have tested this locally, and it seems to work not only compile :-)
Release Notes:
debugger: Adds gdb_path and gdb_args to gdb debug adapter options
debugger: Fix bug where gdb debug sessions wouldn't inherit the shell
environment from Zed
---------
Co-authored-by: Anthony <anthony@zed.dev>
Bo Lorentsen
and
Anthony
created
a7fac65
gpui: Remove unneeded weak Rc cycle in `WindowsWindowInner` (#42119)
bf8864d
gpui: Remove all (unsound) `ManuallyDrop` usages, panic on device loss (#42114)
Click to expand commit body
Given that when we lose our devices unrecoverably we will panic anyways,
might as well do so eagerly which makes it clearer.
Additionally this PR replaces all uses of `ManuallyDrop` with `Option`,
as otherwise we need to do manual bookkeeping of what is and isn't
initialized when we try to recover devices as we can bail out halfway
while recovering. In other words, the code prior to this was fairly
unsound due to freely using `ManuallyDrop::drop`.
Fixes ZED-1SS
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
08ee4f7
notify: Bump to rebased 8.2.0 fork (#42113)
Click to expand commit body
Hopefully makes progress towards #38109, #39266
Release Notes:
- N/A
Nia
created
6f6f652
zlog: Add env var to enable line number logging (#41905)
9c8e37a
clangd: Fix switch source header action on windows (#42105)
Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/40935
Release Notes:
- Fixed clangd's switch source header action not working on windows
Lukas Wirth
created
d54c64f
Refresh outline panel on file renames (#42104)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/41877
Release Notes:
- Fixed outline panel not updating file headers on rename
Kirill Bulatov
created
0b53da1
remote: Flush to stdin when writing to sftp (#42103)
Click to expand commit body
https://github.com/zed-industries/zed/issues/42027#issuecomment-3497210172
Release Notes:
- Fixed ssh remoting potentially failing due to not flushing stdin to
sftp
7a37dd9
Do not serialize buffers containing bundled files (#38102)
Click to expand commit body
Fix bundled file persistence by introducing SerializationMode enum
Closes: #38094
What's the issue?
Opening bundled files like Default Key Bindings
(zed://settings/keymap-default.json) was causing SQLite foreign key
constraint errors. The editor was trying to save state for these
read-only assets just like regular files, but since bundled files don't
have database entries, the foreign key constraint would fail.
The fix
Replaced the boolean serialize_dirty_buffers flag with a type-safe
SerializationMode enum:
```rust
pub enum SerializationMode {
Enabled, // Regular files persist across sessions
Disabled, // Bundled files don't persist
}
```
This prevents serialization at the source: workspace_id() returns None
for disabled editors, serialize() bails early, and should_serialize()
returns false. When opening bundled files, we set the mode to Disabled
from the start, so they're treated as transient views that never
interact with the persistence layer.
Changes
- editor.rs: Added SerializationMode enum and updated serialization
methods to respect it
- items.rs: Guarded should_serialize() to prevent disabled editors from
being serialized
- zed.rs: Set SerializationMode::Disabled in open_bundled_file()
Result
Bundled files open cleanly without SQLite errors and don't persist
across workspace reloads (expected behavior). Regular file persistence
remains unaffected.
Release Notes: Fixed SQLite foreign key constraint errors when opening
bundled files like Default Key Bindings.
---------
Co-authored-by: MrSubidubi <finn@zed.dev>
ʟᴜɴᴇx
and
MrSubidubi
created
a716362
agent_ui: Make "add more agents" menu item take to extensions (#42098)
Click to expand commit body
Now that agent servers are a thing, this is the primary and easiest way
to quickly add more agents to Zed, without touching any settings JSON
file. :)
Release Notes:
- N/A
Danilo Leal
created
f080686
agent_ui: Do not show Codex wsl warning on wsl take 2 (#42096)
Follow-up of https://github.com/zed-industries/zed/pull/42035
Scroll position needs to be stored immediately, otherwise editor close
may not register that.
Release Notes:
- N/A
Kirill Bulatov
created
fb46bae
remote: Add missing quotation in `extract_server_binary` (#42085)
Click to expand commit body
Also respect the shell env for various commands again
Should close https://github.com/zed-industries/zed/issues/42027
Release Notes:
- Fixed remote server installation failing on some setups
Lukas Wirth
created
28d7c37
recent_projects: Improve user facing error messages on connection failure (#42083)
Click to expand commit body
cc https://github.com/zed-industries/zed/issues/42004
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
f6da987
agent_ui: Do not show Codex wsl warning on wsl (#42079)
Click to expand commit body
Release Notes:
- Fixed the codex wsl warning being shown on wsl itself
4003287
vim: Downgrade user config error from panic to log (#42070)
Click to expand commit body
Fixes ZED-2W3
Release Notes:
- Fixed panic due to invalid vim keycap
Lukas Wirth
created
001a47c
gpui: Inline some hot recursive scope functions (#42069)
Click to expand commit body
This reduces stack usage in prepainting slightly as we stack less
references to window/app.
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
113f078
agent_ui: Fix string slicing panic in message editor (#42068)
Click to expand commit body
Fixes ZED-302
Release Notes:
- Fixed a panic in agent message editor when using multibyte whitespace
characters
Lukas Wirth
created
2733216
gpui: Add debug assertion to Window::on_action and make docs consistent (#41202)
Click to expand commit body
Improves formatting consistency across various docs, fixes some typos,
and adds a missing `debug_assert_paint` to `Window::on_action` and
`Window::on_action_when`.
Release Notes:
- N/A
Lexi Mattick
created
92cfce5
language: Fix completion menu no longer prioritizes relevant items for Typescript and Python (#42065)
Click to expand commit body
Closes #41672
Regressed in https://github.com/zed-industries/zed/pull/40242
Release Notes:
- Fixed issue where completion menu no longer prioritizes relevant items
for TypeScript and Python.
Smit Barmase
created
2b6cf31
file_finder: Display duplicated file in file finder history (#41917)
Click to expand commit body
Closes #41850
When digging into this I figured out that basically what was going on is
in the history of the file finder it doesn't update the name of the file
duplicated because when you duplicate a file it's named automatically
with `filename copy` and so this filename was added to the history but
not updated so once you wanted to go back into this file it was not part
of file finder displayed history anymore because this file doesn't exist
anymore but the entity id remains the same.
I was also to reproduce this bug when just renaming a file.
Release Notes:
- Fixed: Display duplicated file in file finder history
---------
Signed-off-by: Benjamin <5719034+bnjjj@users.noreply.github.com>
Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Coenen Benjamin
,
Conrad Irwin
, and
Lukas Wirth
created
58cec41
Adjust terminal decorative character ranges to include missing Powerline characters (#42043)
Click to expand commit body
Closes #41975.
This change adjusts some of the ranges which were incorrectly labeled or
excluded characters. The new ranges include three codepoints which are
not assigned in Nerd Fonts. However, one of these codepoints were
already included prior to this change. These codepoints are:
- U+E0C9, between the two ice separators
- U+E0D3, between the two trapezoid separators. The ranges prior to this
PR already included this one.
- U+E0D5, between the trapezoid separators and the inverted triangle
separators
I included these so as to not overcomplicate the ranges by
cherry-picking the defined codepoints. That being said, if we're okay
with this and an additional unassigned codepoint (U+E0CB, between ice
separators and honeycomb separators) being included then a simple range
from 0xE0B0 to 0xE0D7 nicely includes all of the Powerline characters.
I wasn't sure how to write tests for this so I just added two characters
to the existing tests which were previously not covered lol. All of the
Powerline characters can be seen
[here](https://www.nerdfonts.com/cheat-sheet) by searching `nf-pl`.
Release Notes:
- Fixed certain Powerline characters incorrectly having terminal
contrast adjustment applied.
Lemon
created
2ec5ca0
Fix generate release notes script on first stable (#42061)
Click to expand commit body
Don't crash in generate-release-notes on the first stable
commit on a branch.
Release Notes:
- N/A