Commit Graph
36075 Commits
Author SHA1 Message Date
loadingaliasandKirill Bulatov e5bb2c6790 Fix non-ASCII path:line:column navigation (#51238)
Closes #43329

## Summary
This fixes `path:line:column` navigation for files containing non-ASCII
text.

Before this change, open path flows were passing the external column
directly into `go_to_singleton_buffer_point`. That happened to work for
ASCII, but it was wrong for Unicode because external columns are
user-visible character positions while the editor buffer stores columns
as UTF-8 byte offsets.

This PR adds a shared text layer conversion for external row/column
coordinates and uses it in the affected open-path flows:
 - file finder navigation
 - recent project remote connection navigation
 - recent project remote server navigation

It also adds regression coverage for the Unicode case that originally
failed.

As a small - necessary - prerequisite, this also adds
`remote_connection` test support to `file_finder`'s dev-deps so the
local regression test can build and run on this branch. That follows the
same feature mismatch pattern previously fixed in #48280. I wasn't able
to locally verify the tests/etc. w/o the addition... so I've rolled it
into this PR. Tests are green.

The earlier attempt in #47093 was headed in the right direction, but it
did not land and did not include the final regression coverage requested
in review.

## Verification
 - `cargo fmt --all -- --check`
 - `./script/clippy -p text`
 - `./script/clippy -p file_finder`
 - `./script/clippy -p recent_projects`
 - `cargo test -p file_finder --lib --no-run`
- `cargo test -p file_finder
file_finder_tests::test_row_column_numbers_query_inside_file -- --exact`
- `cargo test -p file_finder
file_finder_tests::test_row_column_numbers_query_inside_unicode_file --
--exact`
- `cargo test -p text
tests::test_point_for_row_and_column_from_external_source -- --exact`

## Manual

I reproduced locally on my machine (macOS) w/ a stateless launch using a
Unicode file (Cyrillic)

Before:
 - `:1:5` landed too far left
 - `:1:10` landed around the 4th visible Cyrillic character

After:
 - `:1:5` lands after 4 visible characters / before the 5th
 - `:1:10` lands after 9 visible characters / before the 10th

Release Notes:
- Fixed `path:line:column` navigation so non-ASCII columns land on the
correct character.

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
2026-03-16 15:35:59 +00:00
Ben KunkleandOleksiy 52fb089258 ep: Track e2e latency (#51678)
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 ...

Co-authored-by: Oleksiy <oleksiy@zed.dev>
2026-03-16 11:35:51 -04:00
Danilo LealandLukas Wirth 70a742eadc git_ui: Don't display the merge conflict notification if an agent is running (#51498)
This PR is motivated by internal feedback in which the notification that
we show inviting to resolve merging conflicts with an agent also pops up
if the agent itself ran `git merge`. In this case, the notification is
unnecessary noise. So, what I'm doing here is simply _not_ showing it if
there's a running agent.

I want to note that this change is accepting a trade-off here, in which
there could be cases that even if an agent is running, the notification
can still be useful. There could be other ways to identify whether the
agent is running `git merge`, but they all felt a bit too complex for
the moment. And given this is reasonably an edge case, I'm favoring a
simple approach for now.

Release Notes:

- N/A

---------

Co-authored-by: Lukas Wirth <lukas@zed.dev>
2026-03-16 16:30:32 +01:00
zed-zippy[bot] ee24bef3a1 html: Bump to v0.3.1 (#51518)
This PR bumps the version of the HTML extension to v0.3.1.

Release Notes:

- N/A

Co-authored-by: zed-zippy[bot] <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-03-16 15:31:16 +01:00
Finn Evers 657edd38b0 extension_ci: Use temporary fork for release action (#51674)
Moving to the for here before the fix gets upstreamed. We might revisit
this at a later point anyway.

Release Notes:

- N/A
2026-03-16 14:30:01 +00:00
JongchanandDanilo Leal c54fe0f3e5 git_ui: Add file and folder icons to the Git panel (#51000)
Closes https://github.com/zed-industries/zed/discussions/49740

Adds optional file and folder icons to the Git panel so its file list is
easier to scan, especially in larger repositories.

- add folder icons for Git panel entries
- add Git panel settings for file and folder icon visibility

---

Release Notes:

  - Made the Git Panel aware of icon themes.
  - Added the ability to render file type icons in the Git panel.

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
2026-03-16 11:06:37 -03:00
Smit Barmase 2cea93133a Revert "Fix window drags when dragging button/input on titlebar in macOS" (#51666)
Reverts zed-industries/zed#51400
2026-03-16 13:55:04 +00:00
tiwari91andDanilo Leal b6fec83e72 Fix Ayu Dark/Mirage dim terminal colors appearing as white (#51462)
## Summary

Closes #46126

Dim terminal colors in **Ayu Dark** and **Ayu Mirage** were defined as
light pastels instead of muted/darker versions of the normal colors. On
a dark background, the APCA minimum contrast algorithm boosted these
already-light colors toward white, making "dimmed" text (e.g.
zsh-autosuggestions) appear brighter than normal text.

### Root cause

| Color | Ayu Dark (before) | Ayu Dark (after) | Pattern |
|-------|-------------------|------------------|---------|
| dim_foreground | `#0d1016` (= background!) | `#85847f` | Muted
foreground |
| dim_red | `#febab9` (light pink) | `#a74f53` | 70% of normal red |
| dim_green | `#d8eca8` (light pastel) | `#769735` | 70% of normal green
|
| dim_yellow | `#ffd9aa` (light pastel) | `#b17d3a` | 70% of normal
yellow |

The fix follows the same convention as **Gruvbox** and **One Dark**,
where dim = ~70% brightness of the normal color.

**Ayu Light** was already correct (dim colors are darker, which is
correct for light backgrounds).

## Test plan

- [ ] Open terminal in Zed with Ayu Dark theme
- [ ] Enable zsh-autosuggestions (or any tool that uses dim/faint ANSI
colors)
- [ ] Type a partial command to trigger autosuggestions
- [ ] Verify suggested text appears as muted/dim, not bright white
- [ ] Repeat with Ayu Mirage theme
- [ ] Verify Ayu Light theme is unaffected

---

Release Notes:

- Improved some Ayu Dark/Mirage theme's terminal colors.

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
2026-03-16 10:48:05 -03:00
Dong 0e2ce49065 markdown_preview: Fix not re-rendering issue when editing by agent (#50583)
Closes #47900 

## Root cause

The current markdown preview only re-renders on `EditorEvent::Edited,
DirtyChanged, ExcerptsEdited`, but agent edits are implemented via
[`buffer.edit()`](https://github.com/dongdong867/zed/blob/eb3f92708b6dc67bb534c1c44a200c0cb5c4997b/crates/agent/src/edit_agent.rs#L375)
which does not guaranty to emit the `EditorEvent::Edited` event. Causing
the markdown preview stuck on the last received parsed markdown.

## Applied fix

Subscribing to `EditorEvent::BufferEdited` when initializing the
markdown preview view. This will cause the view to update when received
`BufferEdited` event including agent edits to the file.

## As is/ To be

As is | To be
--- | ---
<video
src="https://github.com/user-attachments/assets/a0b13467-7758-4572-ae01-bcbc40beff6c"
/> | <video
src="https://github.com/user-attachments/assets/3b5463f3-46ad-4fe6-8563-ceb4347035db"
/>

---

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 markdown preview not re-rendering when edited by agent
2026-03-16 14:45:58 +01:00
Om Chillure 70a5669842 agent_servers: Fix Claude Agent model resetting to default (#51587)
#### Fixes #51082

#### Description :

When a user configures `default_config_options` (e.g. a specific model)
for an ACP agent, the setting was only applied when creating a new
session. Resuming or loading an existing session (e.g. from history)
skipped this step, causing the model dropdown to revert to "Default
(recommended)".

#### Fix : 

Extract the config options defaulting logic into a shared helper
apply_default_config_options and call it consistently across all three
session entry points: new_session, resume_session, and load_session
Release Notes:

#### Release notes :
Fixed model dropdown resetting to "Default (recommended)" when opening a
previous conversation from history. Configured models (via
default_config_options) are now correctly applied when resuming or
loading existing sessions.


#### Video :
[Screencast from 2026-03-15
12-55-58.webm](https://github.com/user-attachments/assets/977747b9-390c-4f78-91fc-91feace444e1)
2026-03-16 13:41:55 +00:00
Giorgi Merebashvili b0fd10134f file_finder: Fix project root appearing in file paths while searching when hide_root=true (#51530)
Closes #45135

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 project root name appearing in file paths while searching in
file finder.
2026-03-16 13:27:41 +00:00
Lena 3d7d2cac4b Add autolabeling the guild PRs (#51663)
Quick-and-dirty version as we're trying this out with the first cohort.

Release Notes:

- N/A
2026-03-16 13:21:27 +00:00
Cameron Mcloughlin 93f3286fae gpui: Add Unicode range for Bengali (#51659) 2026-03-16 13:03:33 +00:00
Om ChillureandKirill Bulatov 491ff012f7 Fix outline filtering always selecting last match (#50594)
Fixes #29774

When filtering the outline panel, matches with equal fuzzy scores
previously defaulted to the last item due to iterator `max_by_key`
semantics. This caused the bottommost match (e.g. `C::f`) to always be
pre-selected regardless of cursor position.

Changes:
- Select the match nearest to the cursor when scores are tied, using a
multi-criteria comparison: score -> cursor containment depth ->
proximity to cursor -> earlier index
- Move outline search off the UI thread (`smol::block_on` -> async
`cx.spawn_in`) to avoid blocking during filtering
- Wrap `Outline<Anchor>` in `Arc` for cheap cloning into the async task
- Add `match_update_count` to discard results from stale queries

Tests : 
Adds a regression test:
`test_outline_filtered_selection_prefers_cursor_proximity_over_last_tie`
which passes

Video : 
[Screencast from 2026-03-03
17-01-32.webm](https://github.com/user-attachments/assets/7a27eaed-82a0-4990-85af-08c5a781f269)


Release Notes:
Fixed the outline filtering always select last match

---------

Co-authored-by: Kirill Bulatov <kirill@zed.dev>
2026-03-16 12:56:29 +00:00
Ben Brandt 603e6d6742 agent_ui: Disable editing and regeneration for subagent messages (#51654)
We had inconsistent handling of this read-only behavior. Now subagents
should behave the same as agents that don't support editing

Release Notes:

- agent_ui: Fix inconsistent behavior for subagent views when focusing
on previous messages.
2026-03-16 12:13:23 +00:00
Piotr OsiewiczandJakub Konka 2a7bd8464b audio: Remove unbounded input queue in favor of 1-element queue (#51647)
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>

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:

- Improve recovery of audio latency after CPU-intensive period.

Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
2026-03-16 11:50:44 +01:00
Lukas Wirth 357ee0fa3f vim: Fix helix select next match panic when search wraps around (#51642)
Fixes ZED-4YP

Sort and deduplicate anchor ranges in do_helix_select before passing
them to select_anchor_ranges. When the search wraps past the end of the
document back to the beginning, the new selection is at a lower offset
than the accumulated prior selections, producing unsorted anchors that
crash the rope cursor with 'cannot summarize backward'.


Release Notes:

- Fixed a panic in helix mode with search selecting wrapping around the
document end
2026-03-16 11:14:26 +01:00
Finn Eitreimanddino 923b5122af vim: Fix dot repeat ignoring recorded register (#50753)
When a command used an explicit register (e.g. `"_dd` or `"add`), the
subsequent dot repeat (`.`) was ignoring that register and using the
default instead.

Store the register at recording start in `recording_register_for_dot`,
persist it to `recorded_register_for_dot` when recording stops, and
restore it in `Vim::repeat` when no explicit register is supplied for
`.`. An explicit register on `.` (e.g. `"b.`) still takes precedence.

This commit also updates the dot-repeat logic to closely follow Neovim's
when using numbered registers, where each dot repeat increments the
register. For example, after using `"1p`, using `.` will repeat the
command using `"2p`, `"3p`, etc.

Closes #49867

Release Notes:

- Fixed vim's repeat . to preserve the register the recorded command
  used
- Updated vim's repeat . to increment the recorded register when using
  numbered registers

---------

Co-authored-by: dino <dinojoaocosta@gmail.com>
2026-03-16 10:05:14 +00:00
Atchyut Preetham Pulavarthi 949944acb4 editor: Fix jumbled auto-imports when completing with multiple cursors (#50320)
When accepting an autocomplete suggestion with multiple active cursors
using `CMD+D`, Zed applies the primary completion edit to all cursors.
However, the overlap check for LSP `additionalTextEdits` only verifies
the replace range of the newest cursor.

If user has a cursor inside an existing import statement at the top of
the file and another cursor further down, Zed fails to detect the
overlap at the top of the file. When the user auto-completes the import
statement ends up jumbled.

This fix updates the completion logic to calculate the commit ranges for
all active cursors and passes them to the LSP store. The overlap check
now iterates over all commit ranges to ensure auto-imports are correctly
discarded if they intersect with any of the user's multi-cursor edits.

Closes https://github.com/zed-industries/zed/issues/50314

### Before


https://github.com/user-attachments/assets/8d0f71ec-37ab-4714-a318-897d9ee5e56b

### After


https://github.com/user-attachments/assets/4c978167-3065-48c0-bc3c-547a2dd22ac3

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 an issue where accepting an autocomplete suggestion with
multiple cursors could result in duplicated or jumbled text in import
statements.
2026-03-16 09:52:57 +00:00
Jakub Konka be4d38a56e livekit: Use our build of libwebrtc.a (#51433)
Closes #51339

This should address issues with too new libstdc++.so on older/more
conservative distros such as RHEL9.

Release Notes:

- Relaxed requirement for libstdc++.so available on Linux distros.
2026-03-16 10:47:36 +01:00
Lukas Wirth ec2ab12a06 fs: Fix wrong windows cfg (#51644)
Causes releases on windows to fail due to unused imports

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-16 09:03:22 +00:00
Lukas Wirth ebd80d7995 buffer_diff: Fix panic when staging hunks with stale buffer snapshot (#51641)
When the buffer is edited after the diff is computed but before staging,
anchor positions shift while diff_base_byte_range values don't. If the
primary (HEAD) hunk extends past the unstaged (index) hunk, an edit in
the extension region causes the overshoot calculation to produce an
index_end that exceeds index_text.len(), panicking in
rope::Cursor::suffix.

Fix by clamping index_end to index_text.len(). This is safe because the
computed index text is an optimistic approximation — the real staging
happens at the filesystem level via git add/git reset.

Closes ZED-5R2


Release Notes:

- Fixed a source of panics when staging diff hunks
2026-03-16 09:49:02 +01:00
Lukas Wirth a93c66e794 markdown_preview: Prevent stackoverflows in markdown parsing (#51637)
Fixes ZED-5TR

Release Notes:

- Fixed a stack overflow when parsing deeply nested html in markdown
files
2026-03-16 07:43:56 +00:00
ozacodandozacod e5a69d8949 lsp: Add clangd readonly token modifier to semantic token rules to highlight constant variables as constant (#49065)
Clangd uses the "readonly" token modifier instead of "constant".
Therefore, "readonly" should be mapped to highlight constant variables
as constants.

Before:
<img width="706" height="48" alt="before"
src="https://github.com/user-attachments/assets/8cc2a310-7825-490b-b868-58ea231612fa"
/>

After:
<img width="762" height="46" alt="after"
src="https://github.com/user-attachments/assets/e271d4cd-cc59-45f9-a8b4-2885857915db"
/>

- [x] Code Reviewed
- [x] Manual QA

Release Notes:

- Added clangd readonly token modifier to semantic token rules to
highlight constant variables as constant.

Co-authored-by: ozacod <ozacod@users.noreply.github.com>
2026-03-16 07:35:29 +00:00
Alex MihaiucandJohn Tur cbc39669b4 Remove std::fs::read_link in fs (#50974)
Closes #46307

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
- [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:

- Improved compatibility with mounted VHDs on Windows.

---------

Co-authored-by: John Tur <john-tur@outlook.com>
2026-03-14 20:02:34 -04:00
Ben Kunkle 8a7daea560 ep: Ensure prompt is always within token limit (#51529)
Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-14 13:53:28 -04:00
Lukas Wirth e482301908 http_client: Fix GitHub downloads failing if the destination path exists (#51548)
cc
https://github.com/zed-industries/zed/pull/45428#issuecomment-4060334728

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-14 15:17:09 +01:00
Danilo Leal e79429b51b agent_ui: Add more UI refinements to sidebar (#51545)
- Move archive button to the header for simplicity
- Hook up the delete button in the archive view
- Improve how titles are displayed before summary is generated
- Hook up keybinding for deleting threads in both the sidebar and
archive view

Release Notes:

- N/A
2026-03-14 02:14:25 -03:00
Finn Eitreim 80acfff622 which-key: Removed some keys from the filter list that were wrongly filtered (#51543)
Closes #49845

Follow up on #50992

Really simple, just removing some vim commands from the filter list that
are useful enough to justify not being filtered out.

tested to make sure the changes work:
<img width="944" height="1123" alt="Screenshot 2026-03-13 at 11 23
52 PM"
src="https://github.com/user-attachments/assets/23b2db73-d0e7-413b-aef7-efe62e84b542"
/>

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:

- which-key: fixed filter list for some vim commands
2026-03-14 03:29:49 +00:00
Kurian Jojo da8a7e8b50 markdown: Fix block quote continuation highlighting (#51465)
There is no highlight for block quotes continued on multiple lines

Currently, the ">" on lines 2 and 3 are not highlighted in the same way
as line 1
<img width="291" height="73" alt="image"
src="https://github.com/user-attachments/assets/7a2f2e25-6ee1-40a6-8833-f06ca7ee6ba9"
/>

After this PR,
<img width="249" height="75" alt="image"
src="https://github.com/user-attachments/assets/34a2971f-8061-4d92-ac45-a8043d5d0566"
/>


for this input
```md
> abcd
>
> abcd
```

tree-sitter produces this 
```
(document [0, 0] - [3, 0]
  (section [0, 0] - [3, 0]
    (block_quote [0, 0] - [3, 0]
      (block_quote_marker [0, 0] - [0, 2])
      (paragraph [0, 2] - [1, 1]
        (inline [0, 2] - [0, 6])
        (block_continuation [1, 0] - [1, 1]))
      (block_continuation [2, 0] - [2, 2])
      (paragraph [2, 2] - [3, 0]
        (inline [2, 2] - [2, 6])))))
```

the screenshots in #43043 also show this issue

Release Notes:

- Fixed highlighting of block quotes continued over multiple lines in
markdown files
2026-03-14 00:09:19 +01:00
Xiaobo LiuandDanilo Leal 2b39fba540 agent_ui: Mask API key input in Add LLM provider modal (#50379)
Release Notes:

- Added Mask API key input in Add LLM provider modal


<img width="427" height="430" alt="截屏2026-02-28 17 35 22"
src="https://github.com/user-attachments/assets/ae628815-f7df-4ea0-90ea-a23bbd703521"
/>

---------

Signed-off-by: Xiaobo Liu <cppcoffee@gmail.com>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
2026-03-13 19:37:18 -03:00
Lukas Wirth a39201a96e acp_thread: Stream in agent text in a more continous manner (#51499)
Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-13 22:32:18 +01:00
Danilo Leal 28fa947916 agent_ui: Enable deleting a thread from the sidebar (#51532)
Currently only available for native threads.

Release Notes:

- N/A
2026-03-13 17:33:57 -03:00
Conrad Irwin b7266ba314 Fix panic in crease folding (#51531)
Fixes ZED-5BZ

Release Notes:

- N/A
2026-03-13 20:28:48 +00:00
Neel ee8ecfa47c language_models: Make subscription text exhaustive (#51524)
Closes CLO-493.

Release Notes:

- N/A
2026-03-13 20:18:30 +00:00
Ben Kunkle 8fc880e7a0 ep: Ensure predictions are not refreshed while following (#51489)
Release Notes:

- N/A
2026-03-13 16:18:00 -04:00
Danilo Leal 0ccdd9bf09 agent_ui: Auto-expand and then collapse thinking blocks (#51525)
With these newer models that come with different thinking levels, it's
become more frequent to want to see what the thinking is outputting.
Thus far in Zed, the thinking block would show up automatically
collapsed and every time you wanted to see it, you had to expand it
manually. This PR changes that by making the thinking block
automatically _expanded_ instead, but as soon as it's done, it collapses
again.

Release Notes:

- Agent: Improved visibility of thinking blocks by making them
auto-expanded while in progress.
2026-03-13 17:01:00 -03:00
Danilo Leal b63a2aba48 agent_ui: Fix new thread in location setting renderer and flag (#51527)
Follow up to https://github.com/zed-industries/zed/pull/51384

This PR fixes the settings UI rendering of this setting by adding a
default value and also wraps it in the feature flag (only the settings
UI rendering), given it's not widely available just yet.

Release Notes:

- N/A
2026-03-13 17:00:48 -03:00
Katie Geer 165c033896 seo: Expand /docs/ai/tools examples + cross-link from external-agents (#49758)
Two changes to support pushing `/docs/ai/tools` into the top 10 for
"agent tools" (8,900 monthly volume, currently position 11).

**`docs/src/ai/tools.md`** — adds a concrete usage example to 7 tools:
`diagnostics`, `grep`, `fetch`, `edit_file`, `terminal`, `web_search`,
and `subagent`. Each example shows a realistic scenario rather than
restating the description.

**`docs/src/ai/external-agents.md`** — adds a single sentence
cross-linking to `tools.md` after the supported-agents intro paragraph,
for users who land on that page looking for what the built-in agent can
do.
2026-03-13 11:44:59 -07:00
Finn Evers db362f5ba6 extension_ci: Use proper PR description for main repository (#51519)
Release Notes:

- N/A (https://tenor.com/view/ironic-star-wars-chode-gif-5274592)
2026-03-13 18:42:56 +00:00
Katie Geer 55c94985e5 docs: Add callouts about student plan for usage and spend limits (#51506)
Add details about how student plan differs in token usage and spend
limits

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-13 11:38:19 -07:00
zed-zippy[bot] 08abc48f1d glsl: Bump to v0.2.1 (#51517)
This PR bumps the version of the GLSL extension to v0.2.1.

Release Notes:

- N/A

Co-authored-by: zed-zippy[bot] <234243425+zed-zippy[bot]@users.noreply.github.com>
2026-03-13 19:31:40 +01:00
jamarju fe7fa37c0b gpui_macos: Skip IME for Cmd+key events on non-QWERTY layouts (#51394)
Closes #51297

On non-QWERTY layouts, all Cmd+key events are routed through the macOS
IME because `key_char` is always `None` when Cmd is held. For certain
characters (dead keys like backtick, and non-dead keys like ç), the IME
calls `insertText:` instead of `doCommandBySelector:`, consuming the
event before it reaches GPUI's keybinding system or macOS system
shortcuts.

This adds `!platform` to the IME-path condition in `handle_key_event` so
Cmd+key events bypass the IME (except when composing). GPUI handles them
if a binding matches, otherwise `performKeyEquivalent:` returns `NO` and
macOS handles them.

**This won't fully fix Cmd+backtick window cycling by itself** because
Zed's key_equivalents system maps default keybindings onto the physical
backtick key on various layouts. For example, `cmd-'`
(ToggleSelectedDiffHunks) maps to the backtick key on Spanish, `cmd-=`
(IncreaseBufferFontSize) on Scandinavian layouts, `cmd-"`
(ExpandAllDiffHunks) on German/Portuguese/Swiss, and `cmd-}`
(ActivateNextItem) on Spanish-ISO. These Zed bindings shadow the
backtick key and consume the event before macOS can cycle windows. I'd
appreciate guidance on the preferred approach to resolve these
keybinding conflicts -- IMO, Zed's default shortcuts should not be
interfering with Cmd+backtick for any layout.

Release Notes:

- Fixed Cmd+key shortcuts being consumed by the IME on non-QWERTY
keyboard layouts, preventing Zed keybindings and macOS system shortcuts
from working with special characters.
2026-03-13 12:30:01 -06:00
Finn Evers b531c40942 glsl/html: Clean up some things (#51516)
Release Notes:

- N/A
2026-03-13 19:16:02 +01:00
Finn Evers d820b079f9 extension_ci: Fix main repository version bumps (#51515)
Release Notes:

- N/A
2026-03-13 18:07:56 +00:00
Katie Geer 933923c76f docs: Add roles page under Account & Privacy section (#51413)
Add new page detailing the roles available for users in their
organizations.

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-13 10:48:54 -07:00
rcmzandMrSubidubi 231b0ccf82 glsl: Add task and mesh path suffixes (#50605)
The GLSL language extension was missing the "task" and "mesh" path
suffixes for task and mesh shaders.
"task" and "mesh" are the official suffixes used in glslang.

Release Notes:

- N/A

Co-authored-by: MrSubidubi <finn@zed.dev>
2026-03-13 18:34:54 +01:00
Finn Evers bb6a6e0305 ci: Fix jq command (#51510)
Sigh.. The missing flag caused the wrong output to be used, resulting in
an error in the process.

Release Notes:

- N/A
2026-03-13 17:30:15 +00:00
Finn Evers ccb2674a77 extension_ci: Add infrastructure for this repository (#51493)
This will allow us to also use the workflows for this repository, which
will especially come in handy once we revisit provider extensions.

Not perfect, as we will trigger some failed workflows for extensions
that were just added

Release Notes:

- N/A
2026-03-13 18:17:29 +01:00
Danilo Leal 4e8937b62d ui: Refactor the Button component icon methods (#51496)
Previously, if you wanted to have a button that contains icons on both
edges, you'd need to use a `ButtonLike` component, which takes any
children. Meanwhile, the `Button` would only take one icon, where you
could control its position through the `IconPosition` enum. This has
always felt unnecessarily limiting. So, this PR removes this limitation
by adding two new methods to the button: `start_icon` and `end_icon`.

In the meantime, I have also been bothered by the unnecessary
indirection in the `IconButton` due to the existence of the `ButtonIcon`
component. So I figured I could also completely eliminate that by adding
some of its methods directly to the `IconButton` and in the Button, just
using a regular `Icon` component.

---
## Before
```rust
Button::new("id", "Label")
    .icon(IconName::Plus)
    .icon_position(IconPosition::Start)
    .icon_size(IconSize::Small)
    .icon_color(Color::Muted)
```

## After
```rust
Button::new("id", "Label")
    .start_icon(Icon::new(IconName::Check))
    .end_icon(Icon::new(IconName::ChevronDown).size(IconSize::XSmall))
```

This should have no visual impact to the UI.

Release Notes:

- N/A
2026-03-13 14:13:12 -03:00