df0cf22
Add powershell language docs (#31787)
Click to expand commit body
Release Notes: - N/A
Peter Tripp created
df0cf22
Add powershell language docs (#31787)
Release Notes: - N/A
Peter Tripp created
a305eda
debugger: Relax implementation of `validate_config` to not run validation (#31785)
When we moved to schema-based debug configs, we've added validate_config - a trait method that is supposed to both validate the configuration and determine whether it is a launch configuration or an attach configuration. The validation bit is a bit problematic though - we received reports on Discords about scenarios not starting up properly; it turned out that Javascript's implementation was overly strict. Thus, I got rid of any code that tries to validate the config - let's let the debug adapter itself decide whether it can digest the configuration or not. validate_config is now left unimplemented for most DebugAdapter implementations (except for PHP), because all adapters use `request`: 'launch'/'attach' for that. Let's leave the trait method in place though, as nothing guarantees this to be true for all adapters. cc @Anthony-Eid Release Notes: - debugger: Improved error messages when the debug scenario is not valid. - debugger: Fixed cases where valid configs were rejected.
Piotr Osiewicz created
ba7b1db
Mark items as pinned via `!` in tests (#31786)
Release Notes: - N/A
Joseph T. Lyons created
019c8de
Fix bug where pinned tabs were closed when closing others (#31783)
Closes https://github.com/zed-industries/zed/issues/28166 Release Notes: - Fixed a bug where pinned tabs were closed when running `Close Others` from the tab context menu
Joseph T. Lyons created
1704dbe
keymap: Add subword navigation and selection to Sublime Text keymap (#30268)
For reference, this is what is set in Sublime Text's default-keymap
files for both MacOS and Linux:
```json
{ "keys": ["ctrl+left"], "command": "move", "args": {"by": "words", "forward": false} },
{ "keys": ["ctrl+right"], "command": "move", "args": {"by": "word_ends", "forward": true} },
{ "keys": ["ctrl+shift+left"], "command": "move", "args": {"by": "words", "forward": false, "extend": true} },
{ "keys": ["ctrl+shift+right"], "command": "move", "args": {"by": "word_ends", "forward": true, "extend": true} },
```
Release Notes:
- Add subword navigation and selection to Sublime keymap
Co-authored-by: Peter Tripp <peter@zed.dev>
Fernando Carletti and Peter Tripp created
eefa6c4
Icon theme selector: Don't select last list item when fuzzy searching (#29560)
Adds manual icon-theme selection persistence Store manually selected icon-themes to maintain selection when query changes. This allows the theme selector to remember the user's choice rather than resetting selection when filtering results. mentioned in #28081 and #28278 Release Notes: - Improved persistence when selecting themes and icon themes. --------- Co-authored-by: Peter Tripp <peter@zed.dev>
Hendrik Sollich and Peter Tripp created
1f17df7
debugger: Add support for go tests (#31772)
In the https://github.com/zed-industries/zed/pull/31559 I did not introduce ability to debug test invocations. Adding it here. E.g:  Release Notes: - Added support for debugging single tests written in go
Alex created
6d687a2
ollama: Change default context size to 4096 (#31682)
Ollama increased their default context size from 2048 to 4096 tokens in version v0.6.7, which released over a month ago. https://github.com/ollama/ollama/releases/tag/v0.6.7 Release Notes: - ollama: Update default model context to 4096 (matching upstream)
tidely created
32214ab
Improve TypeScript shebang detection (#31437)
Closes #13981 Release Notes: - Improved TypeScript shebang detection
Umesh Yadav created
a78563b
ci: Prevent "Tests Pass" job from running on forks (#31778)
Example fork [actions run](https://github.com/alphaArgon/zed/actions/runs/15349715488/job/43194591563) which would be suppressed in the future. (Sorry @alphaArgon) Release Notes: - N/A
Peter Tripp created
f881cac
Use both language and LSP icons for LSP tasks (#31773)
Make more explicit which language LSP tasks are used. Before:  After:   Release Notes: - N/A
Kirill Bulatov created
a539a38
Revert "copilot: Fix vision request detection for follow-up messages" (#31776)
Reverts zed-industries/zed#31760 see this comment for context: https://github.com/zed-industries/zed/pull/31760#issuecomment-2923158611. Release Notes: - N/A
Umesh Yadav created
ca6fd10
debugger: Change console text color, add tooltips (#31765)
- Improved legibility of console text: | Theme | Dark | Light | |--------|--------|--------| | Before |  |  | | After |  |  | Release Notes: - debugger: Improved legibility of console text - debugger: Added tooltips to all debugger items.
Piotr Osiewicz created
f8097c7
Improve compatibility with Wayland clipboard (#30251)
Closes #26672, #20984 Release Notes: - Fixed issue where some applications won't receive the clipboard contents from Zed Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Aldo Funes and Mikayla Maki created
c1427ea
collab: Remove `POST /billing/subscriptions/migrate` endpoint (#31770)
This PR removes the `POST /billing/subscriptions/migrate` endpoint, as it is no longer needed. Release Notes: - N/A
Marshall Bowers created
1e83022
Add a JS/TS debug locator (#31769)
With this, a semi-working debug session is possible from the JS/TS gutter tasks: https://github.com/user-attachments/assets/8db6ed29-b44a-4314-ae8b-a8213291bffc For now, available in debug builds only as a base to improve on later on the DAP front. Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <peterosiewicz@gmail.com>
Kirill Bulatov and Piotr Osiewicz created
0ee900e
Support macOS Sequoia titlebar double-click action (#30468)
Closes #16527 Release Notes: - Added MacOS titlebar double-click action --- Unfortunately, Apple doesn't seem to make the "Fill" API public or documented anywhere. Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Chung Wei Leong and Mikayla Maki created
f9f4be1
collab: Use `StripeClient` in `POST /billing/subscriptions/sync` endpoint (#31764)
This PR updates the `POST /billing/subscriptions/sync` endpoint to use the `StripeClient` trait instead of using `stripe::Client` directly. Release Notes: - N/A
Marshall Bowers created
a00b073
copilot: Fix vision request detection for follow-up messages (#31760)
Previously, the vision request header was only set if the last message in a thread contained an image. This caused 400 errors from the Copilot API when sending follow-up messages in a thread that contained images in earlier messages. Modified the `is_vision_request` check to scan all messages in a thread for image content instead of just the last one, ensuring the proper header is set for the entire conversation. Added a unit test to verify all cases function correctly. Release Notes: - Fix GitHub Copilot chat provider error when sending follow-up messages in threads containing images
Stephen Murray created
f725b5e
collab: Use `StripeClient` in `sync_subscription` (#31761)
This PR updates the `sync_subscription` function to use the `StripeClient` trait instead of using `stripe::Client` directly. Release Notes: - N/A --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Marshall Bowers and Ben Brandt created
07436b4
breadcrumbs: Stylize filename in breadcrumbs when tab-bar is off and file is dirty (#30507)
Closes [#18870](https://github.com/zed-industries/zed/issues/18870) - I like to use Zed with tab_bar off - when the file is modified there is no indicator when tab_bar is off - this PR aims to fix that Thanks to @Qkessler for initial PR - #22418 This is style decided in this discussion - #22418 @iamnbutler @mikayla-maki [subtle style decided](https://github.com/zed-industries/zed/pull/22418#issuecomment-2605253667) Release Notes: - When tab_bar is off, filename in the breadcrumbs will be the indicator when file is unsaved. #### Changes - when tab_bar is off and file is dirty (unsaved) <img width="834" alt="image" src="https://github.com/user-attachments/assets/f205731b-c8e3-4d7a-9214-cbe706e372bf" /> - when tab_bar is off and file is not dirty (saved) <img width="846" alt="image" src="https://github.com/user-attachments/assets/88ea96eb-16a2-48e8-900d-64a921f0b5c3" /> - when tab_bar is on <img width="741" alt="image" src="https://github.com/user-attachments/assets/cc543544-9949-46ed-8e09-cdcbe2f47ab8" /> <img width="740" alt="image" src="https://github.com/user-attachments/assets/8d347258-26f7-4bd7-82d4-8f23dbe63d61" /> Release Notes: - Changed the highlighting of the current file to represent the current saved state, when the tab bar is turned off.
Vivek Pothina created
8bec4cb
assistant_tools: Reduce allocations (#30776)
Another batch of allocation savings. Noteworthy ones are `find_path_tool.rs` where one clone of *all* found matches was saved and `web_tool_search.rs` where the tooltip no longer clones the entire url on every hover. I'd also like to propose using `std::borrow::Cow` a lot more around the codebase instead of Strings. There are hundreds if not 1000+ clones that can be saved pretty regularly simply by switching to Cow. ´Cow´'s are likely not used because they aren't compatible with futures and because it could cause lifetime bloat. However if we use `Cow<'static, str>` (static lifetime) for when we need to pass them into futures, we could save a TON of allocations for `&'static str`. Additionally I often see structs being created using `String`'s just to be deserialized afterwards, which only requires a reference. Release Notes: - N/A
tidely created
047e7ea
gpui: Improve `window.prompt` to support ESC with non-English cancel text on macOS (#29538)
Release Notes:
- N/A
----
The before version GPUI used `Cancel` for cancel text, if we use
non-English text (e.g.: "取消" in Chinese), then the press `Esc` to cancel
will not work.
So this PR to change it by use `PromptButton` to instead the `&str`,
then we can use `PromptButton::cancel("取消")` for the `Cancel` button.
Run `cargo run -p gpui --example window` to test.
---
Platform Test:
- [x] macOS
- [x] Windows
- [x] Linux (x11 and Wayland)
---------
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Jason Lee , Mikayla Maki , and Mikayla Maki created
1d5d3de
gpui: Optimize the ordering update in the BoundsTree (#31025)
Release Notes: - N/A
laizy created
c4dbaa9
gpui: Fix race condition when upgrading a weak reference (#30952)
Release Notes: - N/A
laizy created
97c01c6
Fix model deduplication to use provider ID and model ID (#31750)
Previously only used model ID for deduplication, which incorrectly filtered models with the same name from different providers. Release Notes: - Fix to make sure all provider models are shown in the model picker
Ben Brandt created
310ea43
danger: Check for changes in prompt files (#31744)
This PR adds a Danger check to remind engineers that any changes to our various prompts need to be verified against the LLM Worker. When changes to the prompt files are detected, we will fail the PR with a message: <img width="929" alt="Screenshot 2025-05-30 at 8 40 58 AM" src="https://github.com/user-attachments/assets/79afab4e-e799-45f1-a90e-0fd7c9a73706" /> Once the corresponding changes have been made (or no changes to the LLM Worker have been determined to be necessary), including the indicated attestation message will convert the errors into informational messages: <img width="926" alt="Screenshot 2025-05-30 at 8 41 52 AM" src="https://github.com/user-attachments/assets/ff51c17a-7a76-46a7-b468-a7d864d480c3" /> Release Notes: - N/A
Marshall Bowers created
6bb4b5f
Revert "debugger beta: Fix bug where debug Rust main running action f… (#31743)
…ailed (#31291)" This reverts commit aab76208b53334b85429486c7abd6f0bfcf58dc9. Closes #31737 I cannot repro the original issue that this commit was trying to solve anymore. Release Notes: - N/A
Piotr Osiewicz created
e0fa303
docs: Properly nest the docs for the inline git blame settings (#31739)
From a report on [discord](https://discord.com/channels/869392257814519848/873292398204170290/1377943171320774656): reorders the docs for the inline git blame feature so they are properly nested. <img width="1719" alt="Screenshot_2025-05-30_at_11 32 17" src="https://github.com/user-attachments/assets/3c20bda3-de81-4ac3-b8e2-e1d4eac0ce88" /> Release Notes: - N/A
Alejandro Fernández Gómez created
9cf6be2
agent: Add Burn Mode setting migrator (#31718)
Follow-up https://github.com/zed-industries/zed/pull/31470. Release Notes: - N/A
Danilo Leal created
5462e19
debugger: Fix wrong path to the downloaded delve-shim-dap (#31738)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
3a60420
debugger: Fix delve-dap-shim path on Windows (#31735)
Closes #ISSUE Release Notes: - debugger: Fixed wrong path being picked up for delve on Windows - debugger: Fixed delve not respecting the user-provided binary path from settings.
Piotr Osiewicz created
89c184a
markdown_preview: Fix release notes title being overridden (#31703)
Closes: #31701 Screenshot: <img width="383" alt="image" src="https://github.com/user-attachments/assets/7fd8ce70-2208-4aca-bc70-860d6c649765" /> Release Notes: - Fixed in-app release notes having an incorrect title --------- Co-authored-by: Gilles Peiffer <gilles.peiffer.yt@gmail.com>
Simon Pham and Gilles Peiffer created
d7f0241
editor: Defer the effects of `change_selections` to end of `transact` (#31731)
In quite a few places the selection is changed multiple times in a transaction. For example, `backspace` might do it 3 times: * `select_autoclose_pair` * selection of the ranges to delete * `insert` of empty string also updates selection Before this change, each of these selection changes appended to selection history and did a bunch of work that's only relevant to selections the user actually sees. So for each backspace, `editor::UndoSelection` would need to be invoked 3-4 times before the cursor actually moves. It still needs to be run twice after this change, but that is a separate issue. Signature help even had a `backspace_pressed: bool` as an incomplete workaround, to avoid it flickering due to the selection switching between being a range and being cursor-like. The original motivation for this change is work I'm doing on not re-querying completions when the language server provides a response that has `is_incomplete: false`. Whether the menu is still visible is determined by the cursor position, and this was complicated by it seeing `backspace` temporarily moving the head of the selection 1 character to the left. This change also removes some redundant uses of `push_to_selection_history`. Not super stoked with the name `DeferredSelectionEffectsState`. Naming is hard. Release Notes: - N/A
Michael Sloan created
1445af5
Unify the tasks modal and the new session modal (#31646)
Release Notes: - Debugger Beta: added a button to the quick action bar to start a debug session or spawn a task, depending on which of these actions was taken most recently. - Debugger Beta: incorporated the tasks modal into the new session modal as an additional tab. --------- Co-authored-by: Julia Ryan <juliaryan3.14@gmail.com> Co-authored-by: Julia Ryan <p1n3appl3@users.noreply.github.com> Co-authored-by: Anthony Eid <hello@anthonyeid.me> Co-authored-by: Mikayla <mikayla@zed.dev>
Cole Miller , Julia Ryan , Julia Ryan , Anthony Eid , and Mikayla created
804de33
debugger: Update docs with more examples (#31597)
This PR also shows more completion items when defining a debug config in a `debug.json` file. Mainly when using a pre build task argument. ### Follow ups - Add docs for Go, JS, PHP - Add attach docs Release Notes: - debugger beta: Show build task completions when editing a debug.json configuration with a pre build task - debugger beta: Add Python and Native Code debug config [examples](https://zed.dev/docs/debugger)
Anthony Eid created
a387bf5
zed: Fix migration banner not hiding after migration has been carried out (#31723)
- https://github.com/zed-industries/zed/pull/30444 This PR broke migration notification to only emit event when content is migrated. This resulted in the migration banner not going away after clicking "Backup and Migrate". It should also emit event when it's not migrated which removes the banner. Future: I think we should have better tests in place for banner visibility. Release Notes: - Fixed an issue where migration banner wouldn't go away after clicking "Backup and Migrate".
Smit Barmase created
c7047d5
collab: Fully move `StripeBilling` over to using `StripeClient` (#31722)
This PR moves over the last method on `StripeBilling` to use the `StripeClient` trait, allowing us to fully mock out Stripe behaviors for `StripeBilling` in tests. Release Notes: - N/A
Marshall Bowers created
406d975
Cleanup corresponding task history on task file update (#31720)
Closes https://github.com/zed-industries/zed/issues/31715 Release Notes: - Fixed old task history not erased after task file update
Kirill Bulatov created
cbed580
workspace: Ensure pane handle hitbox blocks mouse events (#31719)
Follow-up to #31712 Pane handle hitboxes were opaque prior to the linked PR. This was the case because pane handles have an intentionally larger hitbox than the pane dividers size to allow for easier dragging. The cursor style is also updated for that hitbox to indicate that resizing is possible: https://github.com/zed-industries/zed/blob/908678403871e0ef18bbe20f78a84654dfdd431d/crates/workspace/src/pane_group.rs#L1297-L1301 Not blocking the mouse events here causes mouse events to bleed through this hitbox whilst actually any clicks will only cause a pane resize to happen. Hence, this hitbox should continue to block mouse events to avoid any confusion when resizing panes. I considered using `HitboxBehavior::BlockMouseExceptScroll` here, however, due to the reasons mentioned above, I decided against it. The cursor will not indicate that scrolling should be possible. Since all other mouse events on underlying elements (like hovers) are blocked, it felt more reasonable to just go with `HitboxBehavior::BlockMouse`. Release Notes: - N/A
Finn Evers created
8aef64b
Remove `block_mouse_down` in favor of `stop_mouse_events_except_scroll` (#30401)
This method was added in #20649 to be an alternative of `occlude` which allows scroll events. It seems a bit arbitrary to only stop left mouse downs, so this seems like it's probably an improvement. Release Notes: - N/A
Michael Sloan created
9086784
gpui: Support hitbox blocking mouse interaction except scrolling (#31712)
tl;dr: This adds `.block_mouse_except_scroll()` which should typically
be used instead of `.occlude()` for cases when the mouse shouldn't
interact with elements drawn below an element. The rationale for
treating scroll events differently:
* Mouse move / click / styles / tooltips are for elements the user is
interacting with directly.
* Mouse scroll events are about finding the current outer scroll
container.
Most use of `occlude` should probably be switched to this, but I figured
I'd derisk this change by minimizing behavior changes to just the 3 uses
of `block_mouse_except_scroll`.
GPUI changes:
* Added `InteractiveElement::block_mouse_except_scroll()`, and removes
`stop_mouse_events_except_scroll()`
* Added `Hitbox::should_handle_scroll()` to be used when handling scroll
wheel events.
* `Window::insert_hitbox` now takes `HitboxBehavior` instead of
`occlude: bool`.
- `false` for that bool is now `HitboxBehavior::Normal`.
- `true` for that bool is now `HitboxBehavior::BlockMouse`.
- The new mode is `HitboxBehavior::BlockMouseExceptScroll`.
* Removes `Default` impl for `HitboxId` since applications should not
manually create `HitboxId(0)`.
Release Notes:
- N/A
Michael Sloan created
2abc589
Improve TypeScript task detection (#31711)
Parses project's package.json to better detect Jasmine, Jest, Vitest and Mocha and `test`, `build` scripts presence. Also tries to detect `pnpm` and `npx` as test runners, falls back to `npm`. https://github.com/user-attachments/assets/112d3d8b-8daa-4ba5-8cb5-2f483036bd98 Release Notes: - Improved TypeScript task detection
Kirill Bulatov created
a23ee61
Pass up intent with completion requests (#31710)
This PR adds a new `intent` field to completion requests to assist in categorizing them correctly. Release Notes: - N/A --------- Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Marshall Bowers and Ben Brandt created
38e45e8
Add View Release Notes to Help menu (#31704)
<img width="891" alt="image" src="https://github.com/user-attachments/assets/59e98fdb-c1b5-4948-8d69-661561d838f1" /> Release Notes: - Added `View Release Notes` to `Help` menu
Simon Pham created
181bf78
agent: Change the navigation menu keybinding (#31709)
As much as I enjoyed the previous keybinding, it was causing a conflict with the editor where it wouldn't open on text threads. To not get into a rabbit hole and complicate the fix too much, I figured simply changing it to something non-conflictual would be a good move. Release Notes: - agent: Fixed a bug where the panel navigation menu wouldn't open with the keybinding on text threads.
Danilo Leal created
c42d060
Update debug.json in Zed repo to run the build on session startup (#31707)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
6ea9abd
Cursor keymap (#31702)
To use this, spawn `weclome: toggle base keymap selector` from the command palette. <img width="589" alt="Screenshot 2025-05-29 at 14 07 35" src="https://github.com/user-attachments/assets/0d4c4eff-6a3b-40f4-9032-5d8ca7664d20" /> MacOS is well tested to match Cursor. The [curors keymap documentation](https://docs.cursor.com/kbd) is does not explicitly state windows/linux keymap entries only "All Cmd keys can be replaced with Ctrl on Windows." so that is what we've done. We welcome feedback / refinements. Note, because this provides a mapping for `cmd-k` (macos) and `ctrl-k` (linux/windows) using this keymap will disable all of the default chorded keymap entries which have `cmd-k` / `ctrl-k` as a prefix. For example `cmd-k cmd-s` for open keymap will no longer function. Release Notes: - Added Cursor compatibility keymap --------- Co-authored-by: Joseph Lyons <joseph@zed.dev>
Peter Tripp and Joseph Lyons created
070eac2
go: Use delve-dap-shim for spawning delve (#31700)
This allows us to support terminal with go sessions Closes #ISSUE Release Notes: - debugger: Add support for terminal when debugging Go programs
Piotr Osiewicz created
05692e2
agent: Fix panel "go back" button (#31706)
Closes https://github.com/zed-industries/zed/issues/31652. Release Notes: - agent: Fixed a bug where the "go back" button wouldn't go back to the Text Thread after visiting another view from it.
Danilo Leal created