Commit log

d02c8bc Update Rust crate mimalloc to v0.1.46 (#28912)

Click to expand commit body
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [mimalloc](https://redirect.github.com/purpleprotocol/mimalloc_rust) |
dependencies | patch | `0.1.45` -> `0.1.46` |

---

### Release Notes

<details>
<summary>purpleprotocol/mimalloc_rust (mimalloc)</summary>

###
[`v0.1.46`](https://redirect.github.com/purpleprotocol/mimalloc_rust/releases/tag/v0.1.46):
Version 0.1.46

[Compare
Source](https://redirect.github.com/purpleprotocol/mimalloc_rust/compare/v0.1.45...v0.1.46)

##### Changes

-   Fixed musl builds.

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

Release Notes:

- N/A

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

renovate[bot] and renovate[bot] created

e27f6a9 agent: Simplify design of the settings view (#29041)

Click to expand commit body
Containing everything in boxes wasn't super necessary here. Want to
still improve the switch color contrast here, but will probably do that
in a separate PR.

<img
src="https://github.com/user-attachments/assets/f826a7a8-beaf-45d0-9dc2-36dc210c418e"
width="700"/>

Release Notes:

- N/A

Danilo Leal created

cce661b docs: Add documentation about signing in to Zed (#29054)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

3932a6c pane: Fix double or invisible borders in tab bar (#29061)

Click to expand commit body
Invisible borders:
<img width="349" alt="Screenshot 2025-04-18 at 3 59 03 PM"
src="https://github.com/user-attachments/assets/a3a43885-ce87-4fcf-864a-d730fea1551e"
/>
<img width="547" alt="Screenshot 2025-04-18 at 8 23 15 PM"
src="https://github.com/user-attachments/assets/1f8669a8-f893-4c58-ba30-025be1bc733f"
/>

Double borders:
<img width="295" alt="Screenshot 2025-04-18 at 3 56 48 PM"
src="https://github.com/user-attachments/assets/7b4ae42d-c7fd-478c-97ce-10abefe4a482"
/>

Release Notes:

- N/A

Smit Barmase created

1e0ae35 gpui: Make MacPlatform::os_version infallible (#29008)

Click to expand commit body
Core change:
```rust
fn os_version() -> Result<SemanticVersion>
```

```rust
fn os_version() -> SemanticVersion
```


Release Notes:

- N/A

tidely created

4405ed0 linux: Fix cursor-related panic on Wayland (#29060)

Click to expand commit body
This fixes the panic that happened in debug builds in Wayland when
focusing/defocusing window in the edit mode:

```
"Thread "main" panicked with "CursorStyle::None should be handled separately in the client" at crates/gpui/src/platform/linux/wayland.rs:40:17"
```

Full log:
[stacktrace.txt](https://github.com/user-attachments/files/19814411/stacktrace.txt)

@smitbarmase, you seem to have worked on this code. Tagging you for
visibility :)

Release Notes:

- N/A

Oleksiy Syvokon created

c585dbd git_panel: Fix amend check (#29059)

Click to expand commit body
`is_some` -> `is_none` 

Release Notes:

- N/A

Smit Barmase created

c7fc95e Remove .direnv from .gitignore as the correct file is `.envrc` (#29058)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

f97546b Improve Regex highlighting (#28183)

Click to expand commit body
| Zed 0.180.2 | With this PR |
| --- | --- |
|
![Image](https://github.com/user-attachments/assets/e840bd81-25ff-4c7a-af03-bac6db11f910)
|
![Image](https://github.com/user-attachments/assets/3fd58164-8992-44e1-be01-8c6d70f9587d)
|

```js
match = "424242"
regex = /(42)+?\d{2}\1/g
```

- `/`: `operator` -> `string.regex` (like `"` for regex strings)
- `+?`: `operator.regex`
- `\d`: `string.escape` -> `string.escape.regex`
- `\1`: `keyword.operator.regex` (backreference)
- `/g`: `keyword.regex` -> `keyword.operator.regex`
- `{2}`: `number` -> `number.quantifier.regex`

Release Notes:

  - Improved Regex highlighting

chbk created

7badd60 debugger: Fix gutter tasks display for users without the debugger feature flag (#29056)

Kirill Bulatov created

502a0f6 agent: Use default prompts from prompt library in system prompt (#28915)

Click to expand commit body
Related to #28490.

- Default prompts from the prompt library are now included as "user
rules" in the system prompt.
- Presence of these user rules is shown at the beginning of the thread
in the UI.
_ Now uses an `Entity<PromptStore>` instead of an `Arc<PromptStore>`.
Motivation for this is emitting a `PromptsUpdatedEvent`.
- Now disallows concurrent reloading of the system prompt. Before this
change it was possible for reloads to race.

Release Notes:

- agent: Added support for including default prompts from the Prompt
Library as "user rules" in the system prompt.

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>

Michael Sloan and Danilo Leal created

eea6cfb collab: Upgrade from Zed Pro trial to Zed Pro by ending trial period early (#29052)

Click to expand commit body
This PR adjusts the upgrade from a Zed Pro trial to Zed Pro to do so by
ending the trial period early.

This will transition the subscription to `active` and bill the user
without needing to send them through a Stripe Checkout flow.

Release Notes:

- N/A

Marshall Bowers created

0dc0701 Show edit predictions usage in status bar menu (#29046)

Click to expand commit body
This PR adds an indicator for edit predictions usage in the edit
predictions menu:

| Free | Zed Pro / Trial |
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
---------------------------------------------------------------------------------------------------------------------------------------------------
|
| <img width="235" alt="Screenshot 2025-04-18 at 9 53 47 AM"
src="https://github.com/user-attachments/assets/6da001d2-ef9c-49df-86be-03d4c615d45c"
/> | <img width="237" alt="Screenshot 2025-04-18 at 9 54 33 AM"
src="https://github.com/user-attachments/assets/31f5df04-a8e1-43ec-8af7-ebe501516abe"
/> |

Only visible to users on the new billing.

Release Notes:

- N/A

Marshall Bowers created

62b8ef9 docs: Fix broken links (#29042)

Click to expand commit body
This PR fixes some broken links in the docs.

Release Notes:

- N/A

moaqz created

269f640 snippet_provider: Use proper casing of `VsCode` in identifiers (#29038)

Click to expand commit body
This PR renames some identifiers in the `snippet_provider` to use the
correct casing of `VsCode`.

Release Notes:

- N/A

Marshall Bowers created

3538ace agent: Do not insert selection as context when selection is empty (#29031)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

87512d0 agent: Remove selections as context once message is sent (#29030)

Click to expand commit body
Release Notes:

- N/A

Bennet Bo Fenner created

6254efe vim: Fix character count in visual line mode (#28669)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/10727

Release Notes:

- vim: Fixed character count in visual line mode

Co-authored-by: Conrad Irwin <conrad@zed.dev>

5brian and Conrad Irwin created

72218f4 Make Copy and Trim ignore empty lines, and fix vim line selections (#29019)

Click to expand commit body
Close #28519 

Release Notes:

Update `editor: copy and trim` command:

1. Ignore empty lines in the middle:

    ```
      Line 1

      Line 2
    ```

    Will copy text to clipboard:

    ```
    Line 1

    Line 2
    ```

    Before this commit trim not performed

1. Fix select use vim line selections, trim not works

redforks created

5f7189e vim: Change line up and change line down respect indentation (#28934)

Click to expand commit body
When using 'c' with line-wise motions like j/k, operate like cc to fix
indentation issues.

Closes #28933 

Release Notes:

- `c j` and `c k` now respect indentation

AidanV created

f6d1364 Fix error logging (#29010)

Click to expand commit body
Co-Authored-By: Ben <ben@zed.dev>

Release Notes:

- N/A

Co-authored-by: Ben <ben@zed.dev>

Conrad Irwin and Ben created

6ffd3f0 Don't display MacOS key symbols in Linux (#29016)

Click to expand commit body
Release Notes:

- Fix MacOS key symbols being displayed in other platforms.

João Marcos created

6e0732a git_ui: Fix amend not working for detached HEAD (#29017)

Click to expand commit body
Closes #28736

Release Notes:

- Fixed git amend not working for detached HEAD.

Smit Barmase created

f8d097a Initial `.rules` file for agent with symlinks for other rules file paths (#29014)

Click to expand commit body
Release Notes:

- N/A

Michael Sloan created

7cf4926 Misc GPUI `Entity<T>` cleanups (#28996)

Click to expand commit body
Found these while working on a `.rules` file which explains how GPUI
works.

Release Notes:

- N/A

Michael Sloan created

676cc10 agent: Report usage from thread summarization requests (#29012)

Click to expand commit body
This PR makes it so the thread summarization also reports the model
request usage, to prevent the case where the count would appear to jump
by 2 the next time a message was sent after summarization.

Release Notes:

- N/A

Marshall Bowers created

ba7f886 project: Show detached head commit SHA in branch pickers (#29007)

Click to expand commit body
When Git is in a detached HEAD state, the branch is `None`, and we can't
get any meaningful information from it. This PR adds a `head_commit`
field to the snapshot, which is always populated with the HEAD details,
even when the branch is `None`.

This also pave path to fix:
https://github.com/zed-industries/zed/issues/28736

git panel branch picker (before, after):
<img width="197" alt="image"
src="https://github.com/user-attachments/assets/0b6abbba-2988-4890-a708-bcd8aad84f26"
/> <img width="198" alt="image"
src="https://github.com/user-attachments/assets/4b08b1a8-5e79-4aa3-a44e-932249602c18"
/>

title bar branch picker (before, after):
<img width="183" alt="image"
src="https://github.com/user-attachments/assets/d94357f8-a4da-4d60-8ddd-fdd978b99fdf"
/> <img width="228" alt="image"
src="https://github.com/user-attachments/assets/d20824a1-9279-44d6-afd1-bf9319fc50e4"
/>

Release Notes:

- Added head commit SHA information to the Git branch picker in the
title bar and Git panel.

Smit Barmase created

c2cd4fd agent: Show request usage in the panel (#29006)

Click to expand commit body
This PR adds a banner showing request usage in the Agent panel:

<img width="640" alt="Screenshot 2025-04-17 at 5 51 46 PM"
src="https://github.com/user-attachments/assets/e0eb036c-57c1-441c-bbab-7dab1c6e56d9"
/>

Only visible to users on the new billing.

Note to Joseph: Doesn't need to be cherry-picked to Preview.

Release Notes:

- N/A

---------

Co-authored-by: Nate <nate@zed.dev>

Marshall Bowers and Nate created

4095011 debugger_ui: Show a toast when setting breakpoints fails (#28815)

Click to expand commit body
Release Notes:

- N/A

---------

Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Co-authored-by: Anthony <anthony@zed.dev>

Cole Miller , Anthony Eid , and Anthony created

80a2f71 vim: Add `ctrl-^` (#28648)

Click to expand commit body
Alias for Ctrl-6: https://neovim.io/doc/user/editing.html#CTRL-%5E

Also removed Ctrl-6 from the ProjectPanel context, iiuc, it shouldn't
have any effect there

Release Notes:

- vim: Added `ctrl-^` as an alias for `ctrl-6` in the default vim keymap

5brian created

d93141b agent: Extract usage information from response headers (#29002)

Click to expand commit body
This PR updates the Agent to extract the usage information from the
response headers, if they are present.

For now we just log the information, but we'll be using this soon to
populate some UI.

Release Notes:

- N/A

Marshall Bowers created

b402007 nix: Add libX11 dependency for X11 support (#28938)

Click to expand commit body
Closes #28937 

Release Notes:

- N/A

AidanV created

be63d51 zeta: Extract usage information from response headers (#28999)

Click to expand commit body
This PR updates the Zeta provider to extract the usage information from
the response headers, if they are present.

For now we just log the information, but we'll need to figure out where
this needs to get threaded through to in order to display it in the UI.

Release Notes:

- N/A

Marshall Bowers created

8660101 debugger: Configure default pane layout conditionally based on capabilities (#28991)

Click to expand commit body
This fixes a debug panic that happened when closing a debug session item
through the debug panel context menu. The default layout now only
includes module list and loaded sources list if they're supported.


Release Notes:

- N/A

Anthony Eid created

1aa1b2b Fix multiline completions when surroundings don't match completion text (#28995)

Click to expand commit body
Follow up to the scenarios I overlooked in
https://github.com/zed-industries/zed/pull/28586.

Release Notes:

- N/A

João Marcos created

58d8b91 collab: Treat `trialing` subscriptions as `active` (#28992)

Click to expand commit body
This PR makes it so billing subscriptions in the `trialing` state are
considered `active`.

Release Notes:

- N/A

Marshall Bowers created

ba58816 editor: Revert flattening of code actions in mouse context menu (#28988)

Click to expand commit body
In light of making context not move dynamically, reverting back these
changes.

- Doing it async will lead to a loading state, which moves the context
menu.
- Doing it sync introduces noticeable lag in opening the context menu.
   
Future idea is to introduce fixed code actions like refactor, rewrite,
etc depending on code action kind [(see
more)](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeActionKind)
which will use submenus.
 
Release Notes:

- N/A

Smit Barmase created

7e928dd Implement dragging external files to remote projects (#28987)

Click to expand commit body
Release Notes:

- Added the ability to copy external files into remote projects by
dragging them onto the project panel.

---------

Co-authored-by: Peter Tripp <petertripp@gmail.com>

Max Brunsfeld and Peter Tripp created

fade49a collab: Don't use a separate product for Zed Pro trials (#28986)

Click to expand commit body
This PR removes the separate product used for the Zed Pro trials, in
favor of using Stripe's trial functionality.

Release Notes:

- N/A

Marshall Bowers created

e4f692a html: Improve syntax highlighting (#28184)

Click to expand commit body
| Zed 0.180.2 | With this PR |
| --- | --- |
|
![Image](https://github.com/user-attachments/assets/89d70ba1-791b-462e-9a14-31c75bcebb7e)
|
![Image](https://github.com/user-attachments/assets/9199499e-071e-49b3-8536-b04b8ce5a222)
|


```html
<script>
  return <div class="main content"></div>
</script>
<div class="main content"></div>
<span></spn>
```

Changes homogenize JSX and HTML

- `"`: `string`
- `=`: `operator` -> `punctuation.delimiter` like in
[JSX](https://github.com/zed-industries/zed/blob/3775496b84cfc9ebf27376119742f3484d4997f2/crates/languages/src/javascript/highlights.scm#L246),
[VSCode](https://github.com/microsoft/vscode/blob/336801752dd09afa76f5429fba846e533bcdb7d9/extensions/html/syntaxes/html.tmLanguage.json#L382)
- `erroneous_end_tag_name`: `keyword` -> not a keyword

Release Notes:

  - Improved HTML highlighting

chbk created

c21bca0 Correct typos in GPUI key_dispatch.rs comments (#28926)

Click to expand commit body
just noticed an extra semicolon and a reference to the nonexistant
`keymap_context` function!

Release Notes:

- N/A

Noah Lemen created

acc4a5c Add example agent tool preview (#28984)

Click to expand commit body
This PR adds an example of rendering previews for tools using the new
Agent ToolCard style.

![CleanShot 2025-04-17 at 13 03
12@2x](https://github.com/user-attachments/assets/d4c7d266-cc32-4038-9170-f3e070fce60e)

Release Notes:

- N/A

---------

Co-authored-by: Marshall Bowers <git@maxdeviant.com>

Nate Butler and Marshall Bowers created

7a95c14 Revert "git_panel: Pad end of list to avoid obscuring final entry with horizontal scrollbar (#28823)" (#28971)

Click to expand commit body
This reverts commit 1d98b33ae07a72e9e26dc9b0b54a8baa4fd5f8c1.

Not sure why, but seems like this breaks the binary search used to
correlate items to each other in the lists.

Release Notes:

- N/A

Conrad Irwin created

6dd622d eval: Fix git revision existence check (#28959)

Click to expand commit body
This change fixes a bug in the worktree initialization.

Details: `git ref-parse --verify $HASH` just checks that $HASH is a
well-formed hash and will successfully return even if $HASH doesn't
exist.

Release Notes:

- N/A

Oleksiy Syvokon created

e7afbbd editor: Dismiss mouse context menus on selections change (#28729)

Click to expand commit body
Closes #ISSUE

Adds an extra subscription for mouse context menus (i.e. right click context menu) so that when selections change in the editor while the context menu is open (e.g. with vim motions), the context menu closes.

Release Notes:

- N/A

Ben Kunkle created

133932e Add support for remote branches to the branch picker (#28978)

Click to expand commit body
Release Notes:

- Added support for remote branches to the branch picker

---------

Co-authored-by: Cole Miller <m@cole-miller.net>

Mikayla Maki and Cole Miller created

3ca6358 Escape all runnables' cargo extra arguments coming from rust-analyzer (#28977)

Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/28947

Release Notes:

- Fixed certain doctests not being run properly

Kirill Bulatov created

2a878ee agent: Add design tweaks (#28963)

Click to expand commit body
One more batch of fine-tuning the agent panel's design.

Release Notes:

- N/A

Danilo Leal created

8117940 Add support for OpenAI o3 and o4-mini models (#28881)

Click to expand commit body
Release Notes:

- Add support for OpenAI o3 and o4-mini models via OpenAI API and
Copilot Chat providers.

---------

Co-authored-by: Peter Tripp <peter@zed.dev>

Umesh Yadav and Peter Tripp created

002235d agent: Support adding selection as context (#28964)

Click to expand commit body
https://github.com/user-attachments/assets/42ebe911-3392-48f7-8583-caab285aca09

Release Notes:

- agent: Support adding selections via @selection or `assistant: Quote
selection` as context

Bennet Bo Fenner created