6b9c2b0
zeta2: Improve jump outside UI (#43262)
Click to expand commit body
Still a prototype UI but a bit more noticeable :) Release Notes: - N/A
Agus Zubiaga created
6b9c2b0
zeta2: Improve jump outside UI (#43262)
Still a prototype UI but a bit more noticeable :) Release Notes: - N/A
Agus Zubiaga created
f0820ae
agent_ui: Remove context strip from inline assistant (#42633)
TODO - [x] Implement PromptEditor::paste - [x] Fix creases on unlink - [x] PromptCompletionProviderDelegate::supports_images - [ ] Fix highlighting in completion menu Release Notes: - N/A --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Bennet Bo Fenner and Danilo Leal created
5a9b810
markdown: Add LaTeX syntax highlighting injection (#41110)
Closes [#30264](https://github.com/zed-industries/zed/issues/30264) Small addition based on [nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter/blob/main/runtime/queries/markdown_inline/injections.scm) <img width="1122" height="356" alt="Screenshot From 2025-10-24 15-47-58" src="https://github.com/user-attachments/assets/33e7387d-a299-4921-9db8-622d2657bec1" /> This does require the LaTeX extension to be installed. Release Notes: - Added LaTeX highlighting for inline and display equations in Markdown when the LaTeX extension is installed --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Luke Naylor and Ben Kunkle created
4fb671f
zeta2: Predict at next diagnostic location (#43257)
When no predictions are available for the current buffer, we will now attempt to predict at the closest diagnostic from the cursor location that wasn't included in the last prediction request. This enables a commonly desired kind of far-away jump without requiring explicit model support. Release Notes: - N/A
Agus Zubiaga created
a3cbe1a
crashes: Print panic message to logs (#43159)
Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
9b82361
Fix install linux (#43205)
Closes: #42726 Release Notes: - Fix ./script/install-linux for installing a development version of Zed on Linux
Conrad Irwin created
3c69e5c
Revert "gpui: Convert macOS clipboard file URLs to paths for paste" (#43254)
Reverts zed-industries/zed#36848 Turns out this broke copying a screenshot from apps like CleanShot X and then pasting it over. We should land this again after taking a look at those cases. Pasting screenshots from the native macOS screenshot functionality works though. cc @seantimm Release Notes: - Fixed issue where copying a screenshot from apps like CleanShot X into Agent Panel didn't work as expected.
Smit Barmase created
2ac13b9
Fallible Settings (#42938)
Also tidies up error notifications so that in the case of syntax errors we don't see noise about the migration failing as well. Release Notes: - Invalid values in settings files will no longer prevent the rest of the file from being parsed.
Conrad Irwin created
a8d7f06
Revert "util: Check whether discovered powershell is actually executable" (#43247)
Reverts zed-industries/zed#43044 Closes https://github.com/zed-industries/zed/issues/43224 This slows down startup on windows significantly Release Notes: - Fixed slow startup on Windows
Lukas Wirth created
28e1c15
agent_ui: Fix sent agent prompt getting lost after authentication (#43245)
Closes #42379 Release Notes: - Fixed issue where a sent agent message is not restored after successful authentication.
Smit Barmase created
0ee7271
Allow onboarding pages to be zoomed in/out (#43244)
We were just missing adding keybindings for these. Release Notes: - onboarding: The onboarding pages can now be zoomed in/out with the same keybindings you'd use to zoom in/out a regular buffer.
Danilo Leal created
d6a5566
docs: Point to the right URL for Gemini CLI (#43239)
Point to the right URL for Gemini CLI. Release Notes: - N/A --- 💖
Kunall Banerjee created
ea85f90
docs: Fix small typo in docs for Snippets (#43238)
Happened to notice this typo while going through the docs. Release Notes: - N/A --- 💖
Kunall Banerjee created
1ce58a8
zed: Allocate more rayon threads depending on available parallelism (#43235)
While zed itself is not a heavy user of rayon, wasmtime is, especially for compilation. This change is similar to the rayon default but we halve the number of threads still so we don't spawn too many threads overall. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
a30887f
Fix some panics (#43233)
Fixes ZED-2NP Fixes ZED-3DP Fixes ZED-3EV Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
92b6e8e
Jetbrains keymap updates (#42848)
Closes https://github.com/zed-industries/zed/issues/14639 ## Release Notes: Various improvements to the Jetbrains keymap. Added various missing keyboard shortcuts that I use on a daily basis in Jetbrains, and changed a few which were present in the keymap but mapped to the wrong behavior. ### Added: - Added various missing keybindings for Jetbrains keymap - `ctrl-n` → `project_symbols::Toggle` - `ctrl-alt-n` → `file_finder::Toggle` (open project files) - `ctrl-~` → `git::Branch` - `ctrl-\` → `assistant::InlineAssist` - `ctrl-space` → `editor::ShowCompletions` - `ctrl-q` → `editor::Hover` - `ctrl-p` → `editor::ShowSignatureHelp` - `ctrl-f5` → `task::Rerun` - `shift-f9` → `debugger::Start` - `shift-f10` → `task::Spawn` - Added macOS equivalents for all of the above, however I only have a Linux machine so I have not tested the mac bindings. The binding are generally the same except `ctrl → cmd` with few exceptions. - `cmd-j` → `editor::Hover` ### Fixed: - Several incorrectly mapped keybindings for the Jetbrains keymap - `ctrl-alt-s` → `editor::OpenSettings` (was `editor::OpenSettingsFile`) - `ctrl-alt-b` → `editor::GoToImplementation` (was `editor::GoToDefinitionSplit`) - `alt-left` → `pane::ActivatePreviousItem` - `alt-right` → `pane::ActivateNextItem` - `ctrl-k` now opens the Git panel. I believe this was commented out because of a bug where focus is not given to the commit message text box, but imo the current behavior of not doing anything at all feels more confusing/frustrating to a Jetbrains user (projecting a little here, happy to revert).
jtaub created
0a6cb61
Fix `connect.host` setting being ignored by debugpy (#43190)
Closes #42727 Unfortunately we can only support IPv4 addresses right now because `TcpArguments` only supports an IPv4 address. I'm not sure how difficult it would be to lift this limitation. Release Notes: - Fixed `connect.host` setting being ignored by debugpy Co-authored-by: Cole Miller <cole@zed.dev>
Andrew Farkas and Cole Miller created
e2f6422
language: Move language server update to background when it takes too long (#43164)
Closes https://github.com/zed-industries/zed/issues/42360 If updating a language server takes longer than 10 seconds, we now fall back to launching the currently installed version (if exists) and continue downloading the update in the background. Release Notes: - Improved language server updates for slow connection, now Zed launches existing server if the update is taking too long. --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Smit Barmase and Piotr Osiewicz created
bb514c1
macOS: Enumerate GPUs first; prefer low-power non-removable; fall back to system default (#38164)
Problem: Some macOS environments report no devices via MTLCopyAllDevices, causing startup failure with “unable to access a compatible graphics device,” especially on Apple Silicon. Change: Prefer MTLCreateSystemDefaultDevice (metal::Device::system_default()) first. If None, enumerate devices and select a non‑removable, low‑power device by preference. Why this works: On Apple Silicon the system default is the unified GPU; on Intel, the fallback keeps a stable policy and avoids accidentally picking removable/high‑power devices. Impact: Fixes startup on affected ASi systems; improves selection consistency on Intel multi‑GPU. Behavior unchanged where system_default() succeeds. Risk: Low. Aligns with Apple’s recommended selection path. Still fails early with a clearer message if no Metal devices exist. Closes #37689. Release Notes: - Fixed: Startup failure on some Apple Silicon machines when Metal device enumeration returned no devices by falling back to the system default device. --------- Co-authored-by: 张小白 <364772080@qq.com> Co-authored-by: Kate <work@localcc.cc>
cacaosteve , 张小白 , and Kate created
550442e
Disable fsevents tests (#43218)
They're flakier than phyllo dough, and not nearly as delicious Release Notes: - N/A
Conrad Irwin created
b3ebcef
gpui: Only time out multi-stroke bindings when current prefix matches (#42659)
Part One for Resolving #10910 ### Summary Typing prefix (partial keybinding) will behave like Vim. No timeout until you either finish the sequence or hit Escape, while ambiguous sequences still auto-resolve after 1s. ### Description This follow-up tweaks the which-key system first part groundwork so our timeout behavior matches Vim’s expectations. Then we can implement the UI part in the next step (reference latest comments in https://github.com/zed-industries/zed/pull/34798) - `DispatchResult` now reports when the current keystrokes are already a complete binding in the active context stack (`pending_has_binding`). We only start the 1s flush timer in that case. Pure prefixes or sequences that only match in other contexts—stay pending indefinitely, so leader-style combos like `space f g` no longer evaporate after a second. - `Window::dispatch_key_event` cancels any prior timer before scheduling a new one and only spawns the background flush task when `pending_has_binding` is true. If there’s no matching binding, we keep the pending keystrokes and rely on an explicit Escape or more typing to resolve them. Release Notes: - Fixed multi-stroke keybindings so only ambiguous prefixes auto-trigger after 1 s; unmatched prefixes now stay pending until canceled, matching Vim-style leader behavior.
Xipeng Jin created
2b9eeb9
Disable keychain timeout in bundle-mac (#43204)
Attempt to reduce the number of times bundle-mac fails to notorize by disabling keychain's auto-lock timeout Release Notes: - N/A
Conrad Irwin created
07d9898
Make the edit prediction status bar menu work correctly when using sweep (#43203)
Release Notes: - N/A --------- Co-authored-by: Ben Kunkle <ben@zed.dev>
Max Brunsfeld and Ben Kunkle created
8bbd101
ci: Run `check_docs` when code changes (#43188)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
dbdc501
Fix casing in comments in `default.json` (#43201)
This PR fixes the casing of the operating system names in the language-specific sections of `default.json`. This files serves as documentation for users (since it can be viewed through `zed: open default settings`), so we should make sure it is tidy. Release Notes: - N/A
Marshall Bowers created
898c133
Simplify error management in stream_completion (#43035)
This PR simplifies error and event handling by removing the `Ok(LanguageModelCompletionEvent::Status(CompletionRequestStatus::Failed)))` state from the stream returned by `LanguageModel::stream_completion()`, by changing it into an `Err(LanguageModelCompletionError)`. This was done by collapsing the valid `CompletionRequestStatus` values into `LanguageModelCompletionEvent`. Release Notes: - N/A --------- Co-authored-by: Michael Benfield <mbenfield@zed.dev>
Mikayla Maki and Michael Benfield created
659169f
Add codegen_ranges function in inline_assistant.rs (#43186)
Just a simple refactor. Release Notes: - N/A --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com> Co-authored-by: Richard Feldman <oss@rtfeldman.com>
Michael Benfield , Mikayla Maki , and Richard Feldman created
361fcc5
Make search field in panels be at the top (#43200)
This mostly affects the collab and outline panels for now. It has always been a bit weird that the search field was at the bottom of the panel, even more so because in both cases, you can _arrow down_ to start navigating the list with your keyboard. So, with the search at the bottom, you'd arrow down and get to the top of the list, which was very strange. Now, with it at the top, it not only looks better but it is also more generally consistent with other surfaces in the app, like pickers, the settings UI, rules library, etc. Most search fields are always at the top. <img width="800" height="1830" alt="image" src="https://github.com/user-attachments/assets/3e2c3b8f-5907-4d83-8804-b3fc77342103" /> Release Notes: - N/A
Danilo Leal created
9667d78
extensions_ui: Improve error message when extensions fail to load (#43197)
<img width="500" height="1902" alt="Screenshot 2025-11-20 at 6 12@2x" src="https://github.com/user-attachments/assets/daa5b020-17c8-4398-a64a-d691c566d6e7" /> Release Notes: - extensions UI: Improved the feedback message for when extensions are not being displayed due to a fetch error caused by lack of connection.
Danilo Leal created
6adb0f4
agent_ui: Improve UI for the feedback container (#43195)
Improves a previously weird wrapping and simplify the UI by adding the meta text inside the tooltip itself. https://github.com/user-attachments/assets/9896d4a2-6954-4e61-9b77-864db8f2542a Release Notes: - N/A
Danilo Leal created
a332b79
ui: Add `DiffStat` component (#43192)
Release Notes: - N/A
Danilo Leal created
b41eb3c
windows: Fix maximized window size when DPI scale changes (#40053)
The WM_DPICHANGED suggested RECT is calculated for non-maximized windows. When a maximized window's DPI changes, we now query the monitor's work area directly to ensure the window correctly fills the entire screen. For non-maximized windows, the original behavior using the system-suggested RECT is preserved. Release Notes: - windows: Fixed maximized window size when DPI scale changes Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Xiaobo Liu created
6899448
Remove `prompt-caching-2024-07-31` beta header for Anthropic AI (#43185)
Closes #42715 Release Notes: - Remove `prompt-caching-2024-07-31` beta header for Anthropic AI Co-authored-by: Cole Miller <cole@zed.dev>
Andrew Farkas and Cole Miller created
28ef745
gpui: #[inline] some trivial functions (#43189)
These appear in a lot of stacktraces (especially on windows) despite them being plain forwarding calls. Also removes some intermediate calls within gpui that will only turn into more unnecessary compiler work. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created
7e341bc
Support bracket colorization (rainbow brackets) (#43172)
Deals with https://github.com/zed-industries/zed/issues/5259
Highlights brackets with different colors based on their depth.
Uses existing tree-sitter queries from brackets.scm to find brackets,
uses theme's accents to color them.
https://github.com/user-attachments/assets/cc5f3aba-22fa-446d-9af7-ba6e772029da
1. Adds `colorize_brackets` language setting that allows, per language
or globally for all languages, to configure whether Zed should color the
brackets for a particular language.
Disabled for all languages by default.
2. Any given language can opt-out a certain bracket pair by amending the
brackets.scm like `("\"" @open "\"" @close) ` -> `(("\"" @open "\""
@close) (#set! rainbow.exclude))`
3. Brackets are using colors from theme accents, which can be overridden
as
```jsonc
"theme_overrides": {
"One Dark": {
"accents": ["#ff69b4", "#7fff00", "#ff1493", "#00ffff", "#ff8c00", "#9400d3"]
}
},
```
Release Notes:
- Added bracket colorization (rainbow brackets) support. Use
`colorize_brackets` language setting to enable.
---------
Co-authored-by: MrSubidubi <dev@bahn.sh>
Co-authored-by: Lukas Wirth <lukas@zed.dev>
Co-authored-by: MrSubidubi <finn@zed.dev>
Co-authored-by: Lukas Wirth <me@lukaswirth.dev>
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Kirill Bulatov , MrSubidubi , Lukas Wirth , MrSubidubi , Lukas Wirth , and Smit Barmase created
e6e5ccb
ui: Render fallback icon for avatars that failed to load (#43183)
Before we were simply not rendering anything which could lead to some very surprising situations when joining channels ... Now it will look like so <img width="147" height="50" alt="image" src="https://github.com/user-attachments/assets/13069de8-3dc0-45e1-b562-3fe81507dd87" /> Release Notes: - Improved rendering of avatars that failed to load by rendering a fallback icon
Lukas Wirth created
d6d967f
Re-resolve anchor before applying AI inline assist edits (#43103)
Closes #39088 Release Notes: - Fixed AI assistant edits being scrambled when file was modified while it was open -- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Andrew Farkas and Conrad Irwin created
18f14a6
vim: Fix paste action for visual modes (#43031)
Closes #41810 Release Notes: - Fixed paste not working correctly in vim visual modes
Adrian created
58fe19d
project search: Skip loading of gitignored paths when their descendants will never match an inclusion/exclusion query (#42968)
Co-authored-by: dino <dinojoaocosta@gmail.com> Related-to: #38799 Release Notes: - Improved project search performance with "Also search files ignored by configuration" combined with file inclusion/exclusion queries. --------- Co-authored-by: dino <dinojoaocosta@gmail.com>
Piotr Osiewicz and dino created
2a40dcf
acp: Support specifying settings for extensions (#43177)
This allows you to specify default_model and default_mode for ACP
extensions, e.g.
```
"auggie": {
"default_model": "gpt-5",
"default_mode": "default",
"type": "extension"
},
```
Release Notes:
- Added support for specifying settings for ACP extensions
(`default_mode`, `default_model`)
Bennet Bo Fenner created
a5c3267
extensions: Add `-` as linked edit character for HTML (#43179)
Closes https://github.com/zed-industries/zed/issues/43060 Release Notes: - Fixed issue where typing in custom HTML tag would not complete subsequent end tag for `-` character. Co-authored-by: Kunall Banerjee <hey@kimchiii.space>
Smit Barmase and Kunall Banerjee created
5ef6402
editor: Ensure all menus and popups are dismissed (#43169)
While investigating a bug report that, in Helix mode, pressing the `escape` key would only hide the signature help popup and not the completions menu, when `auto_signature_help` was enabled, it was noted that the `editor::Editor.dismiss_menus_and_popups` method was not dismissing all possible menus and popups and was, instead, stopping as soon as a single menu or popup was dismissed. From the name of the method it appears that we actually want to dismiss all so this commit updates it as such, ensuring that the bug reported is also fixed. Closes #42499 Release Notes: - Fixed issue with popups and menus not being dismissed while using `auto_signature_help` in Helix Mode
Dino created
ba93a5d
ui: Remove `Badge` component (#43168)
We're not using it anywhere anymore, so I think we can clean it up now. This was a somewhat specific component we did for the sake of Onboarding, but it ended up being removed. Release Notes: - N/A
Danilo Leal created
73568fc
ui: Add `ThreadItem` component (#43167)
Release Notes: - N/A
Danilo Leal created
56401fc
debugger: Allow users to include PickProcessId in debug tasks and resolve Pid (#42913)
Closes #33286 This PR adds support for Zed's `$ZED_PICK_PID` command in debug configurations, which allows users to select a process to attach to at debug time. When this variable is present in a debug configuration, Zed automatically opens a process picker modal. Follow up for this will be integrating this variable in the task system instead of just the debug configuration system. Release Notes: - Added `$ZED_PICK_PID` variable for debug configurations, allowing users to select which process to attach the debugger to at runtime --------- Co-authored-by: Remco Smits <djsmits12@gmail.com>
Anthony Eid and Remco Smits created
e033829
Fix diff highlights (#38384)
Per https://github.com/zed-industries/zed/discussions/23371#discussioncomment-13533635, the issue is not new and I don't know how to solve the problem more holistically yet. All of the native themes don't have spec for `@diff.plus` and `@diff.minus` leaving addition and deletion not being highlighted. For diff file, the most valuable highlighting comes from exactly what we're missing. Hence, I think this is worth fixing. Perhaps, the ideal fix would be standardizing and documenting captures such as `@diff.plus` and `@diff.minus` on https://zed.dev/docs/extensions/languages#syntax-highlighting for theme writers to adopt. But the existing list of captures seems to be language-agnostic so I'm not sure if that's the best way forward. Per https://github.com/the-mikedavis/tree-sitter-diff/pull/18#issuecomment-2569785346, `tree-sitter-diff`'s author prefers using `@keyword` and `@string` so that `tree-sitter highlight` can work out of the box. So it seems to be an ok choice for Zed. Another approach is just adding `@diff.plus` and `@diff.minus` to the native themes. Let me know if I should pursue this instead. Before <img width="668" height="328" alt="Screenshot 2025-09-18 at 11 16 14 AM" src="https://github.com/user-attachments/assets/d9a5b3b5-b9ef-4e74-883f-831630fb431e" /> After <img width="1011" height="404" alt="Screenshot 2025-09-18 at 12 11 15 PM" src="https://github.com/user-attachments/assets/9cf453c0-30df-4d17-99e9-f2297865f12a" /> <img width="915" height="448" alt="Screenshot 2025-09-18 at 12 12 14 PM" src="https://github.com/user-attachments/assets/9e7438a6-9009-4136-b841-1f8e1356bc9b" /> Closes https://github.com/zed-industries/extensions/issues/490 Release Notes: - Fixed highlighting for addition and deletion for diff language --------- Co-authored-by: MrSubidubi <finn@zed.dev>
Vinh Tran and MrSubidubi created
61f512a
Move protobuf action to default linux runner (#43085)
Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Finn Evers and Conrad Irwin created
dd5482a
docs: Update developing extension docs for updating specific submodule (#42548)
Release Notes: - N/A
Arun Chapagain created
9094eb8
git: Compress diff for commit message generation (#42835)
This PR compresses diff capped at 20000 bytes by: - Truncation of all lines to 256 chars - Iteratively removing last hunks from each file until size <= 20000 bytes. Closes #34486 Release Notes: - Improved: Compress large diffs for commit message generation (thanks @11happy) --------- Signed-off-by: 11happy <soni5happy@gmail.com> Co-authored-by: Oleksiy Syvokon <oleksiy@zed.dev>
Bhuminjay Soni and Oleksiy Syvokon created
29f9853
svg_preview: Remove unnecessary dependency on editor (#43147)
Editor is a choke point in our compilation graph while also being a very common crate that is being edited. So reducing things that depend on it will generally improve compilation times for us. Release Notes: - N/A *or* Added/Fixed/Improved ...
Lukas Wirth created