Commit Graph
35894 Commits
Author SHA1 Message Date
Ben Brandt 5359ccf2f2 agent_ui: Handle legacy agent enum variants during deserialization (#51125)
Add custom `Deserialize` implementations for `AgentType` and
`ExternalAgent` to map old built-in variant names to current custom
agent names, while still accepting current serialized formats.

Release Notes:

- N/A
2026-03-09 19:10:29 +01:00
John D. Swanson c429048333 PR Review Assignment Workflow Round Two (#51123)
This pull request adds a new GitHub Actions workflow to automate
reviewer assignment for pull requests. The workflow leverages the
`codeowner-coordinator` repository to intelligently assign the most
relevant teams as reviewers based on the changes in the PR. This should
streamline the review process and ensure the right teams are notified.

**Automated Reviewer Assignment Workflow:**

* Introduced `.github/workflows/assign-reviewers.yml`, a workflow that
triggers on PR open and ready-for-review events to assign 1-2 relevant
teams as reviewers using a script from the
`zed-industries/codeowner-coordinator` repository.
* The workflow checks out the coordinator repo, sets up Python, installs
dependencies, and runs the assignment script with the necessary
environment variables.
* Reviewer assignment is only performed for PRs originating from within
the organization for now.
* The output of the reviewer assignment step is maintained as an Actions
artifact for later inspection or debugging.

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

- N/A
2026-03-09 14:02:05 -04:00
DinoandTom Houlé 358bd69df4 Fix expand/collapse all button for splittable editor (#50859)
The "Expand All Files"/"Collapse All Files" button in `BufferSearchBar`
was broken for `SplittableEditor`, which is used in the project diff
view. It was happening because `ProjectDiff::as_searchable` returns an
handle to the `SplittableEditor`, which the search bar implementation
then tries to downcast to an `Editor`, which the `SplittableEditor` did
not support, so both the expand/collapse all buttons, as well as the
collapse state were broken.

Unfortunately this was accidentally introduced in
https://github.com/zed-industries/zed/pull/48773 , so this Pull Request
updates the `Item` implementation for `SplittableEditor` in order for it
to be able to act as an `Editor`.

Release Notes:

- Fix the "Expand All Files"/"Collapse All Files" button in the project
diff view

---------

Co-authored-by: Tom Houlé <tom@tomhoule.com>
2026-03-09 17:45:36 +00:00
Om Chillure d69e7153cf workspace: Hide "View AI Settings" when AI is disabled (#50941)
Fixes #50835

### Problem :
The "View AI Settings" button on the Welcome page was always rendered
regardless of the disable_ai setting. This made it visible (and
non-functional) for users who had AI disabled, which was confusing.

### Fix :
- Adds an optional visibility: Option<fn(&App) -> bool> predicate field
to SectionEntry
- At render time, Section::render uses filter_map to skip entries whose
predicate returns false.
- The "View AI Settings" entry is given a predicate that checks
!DisableAiSettings::get_global(cx).disable_ai, matching the same pattern
used in `title_bar.rs` and `quick_action_bar.rs`.
- All other entries have visibility: None, meaning they are always shown
— no behaviour change for them.

### Video :
[Screencast from 2026-03-06
20-18-43.webm](https://github.com/user-attachments/assets/cbfab423-3ef3-41dd-a9ab-cbae055eef6e)


Release Notes:

- Fixed the "View AI Settings" button being visible on the Welcome page
despite AI features being disabled in settings.
2026-03-09 18:43:39 +01:00
Mikayla Maki 39d593ff14 Optimize update_entries (#51122)
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:

- N/A
2026-03-09 17:21:35 +00:00
Bennet Bo Fenner e7fa2d4fbd Remove unused rich_text crate (#50950) 2026-03-09 18:08:33 +01:00
Lukas Wirth 6da779ff9e zed: Fix file logging being disabled accidentally (#51121)
Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-09 17:04:50 +00:00
Cameron Mcloughlin e5a3adc46f agent: Fix inline assistant keymap in agent panel (#51117)
Fixes a bug that causes the new large agent panel message editor
overrides the ctrl-enter keyboard shortcut to trigger the inline
assistant, rather than sending a message

Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-09 16:16:09 +00:00
Jakub Konka 15512db57e zed: Read ZED_COMMIT_SHA from env var when building (#51115)
Quality-of-life improvement for us Nix users - Zed built via `nix build`
will now correctly the git commit sha in its version

<img width="433" height="298" alt="image"
src="https://github.com/user-attachments/assets/b940ee4a-6914-4410-ba20-b50391282a4e"
/>

Release Notes:

- N/A
2026-03-09 17:02:09 +01:00
Cameron Mcloughlin 359a5c2315 workspace: Include threads in matched workspaces (#51114) 2026-03-09 15:58:02 +00:00
Kirill BulatovandConrad Irwin ccbaa099f6 Do not derive symbol highlights if they do not fit into multi buffer (#50948)
Release Notes:

- N/A

---------

Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
2026-03-09 15:50:44 +00:00
Danilo Leal fec772435c ui: Add GradientFade component (#51113)
Just adding this here as an utility component given we were doing
similar things on the sidebar, thread item, and list item. It'd be
probably useful, in the near future, to give this more methods so it's
more flexible.

Release Notes:

- N/A
2026-03-09 12:31:16 -03:00
francesco-gaglioneandDanilo Leal 090a865939 extensions_ui: Fix extension author list overflow (#51045)
Closes #50995 

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
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- Fixed extension author's list overflow

<img width="1326" height="369" alt="image"
src="https://github.com/user-attachments/assets/4b2cf9cb-d3c3-4d71-a4fd-9436fb7b1469"
/>

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
2026-03-09 12:18:12 -03:00
Oleksiy Syvokon 74057925cc ep: Skip context retrieval when already performed (#51100)
Previously we didn't distinguish between an empty `.related_files[]` and
a case where context collection hadn't run yet. As a result, context
retrieval was always attempted for examples with empty `related_files`.

Release Notes:

- N/A
2026-03-09 14:42:15 +00:00
Danilo Leal fc39043b6c sidebar: Improve behavior of "view more" button (#51105)
This PR adjusts the "View More" button in the sidebar to expose threads
in batches of 5. Once you've expanded the whole available set, a button
to collapse the list back to the default number appears at the bottom.
Similarly, as soon as you expand the list even once, a button in the
group header shows up that does the same thing.

No release notes because this is still under feature flag.

Release Notes:

- N/A
2026-03-09 10:59:32 -03:00
Jakub Konka bdbae34e84 ci: Add source list and GPG key manually of ubuntu-toolchain-r (#51102)
Release Notes:

- N/A
2026-03-09 14:55:35 +01:00
Neel 8f0f6e6d13 open_ai: Support reasoning summaries in OpenAI Responses API (#50959)
Related to AI-79.

Release Notes:

- N/A
2026-03-09 13:51:22 +00:00
Ben Kunkle bcb830d4b6 ep: Add <|no-edit|> command to hashlines format (#51103)
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 ...
2026-03-09 13:33:42 +00:00
Danilo Leal 4d8ac3cb12 sidebar: Improve project header truncation (#51096)
Touching up the scenario in which the project header label is too big.
This uses the same gradient overlay treatment we're using for the thread
item component.

Release Notes:

- N/A
2026-03-09 10:03:15 -03:00
Oleksandr Kholiavko e4f4525493 ui: Extract table_row & tests modules to separate files (#51059)
Extract data table modules into separate files

This PR extracts the `tests` and `table_row` modules from
`data_table.rs` into separate files to improve code organization. This
is preparatory work for the upcoming column width API rework (#2 in the
series), where separating mechanical changes from logical changes will
make the review easier.

The extraction was performed using rust-analyzer's "Extract module to
file" command.

**Context:**

This is part 1 of a 3-PR series improving data table column width
handling:
1. **This PR**: Extract modules into separate files (mechanical change)
2. [#51060](https://github.com/zed-industries/zed/pull/51060) -
Introduce width config enum for redistributable column widths (API
rework)
3. Implement independently resizable column widths (new feature)

The series builds on previously merged infrastructure:
- [#46341](https://github.com/zed-industries/zed/pull/46341) - Data
table dynamic column support
- [#46190](https://github.com/zed-industries/zed/pull/46190) - Variable
row height mode for data tables

Primary beneficiary: CSV preview feature
([#48207](https://github.com/zed-industries/zed/pull/48207))

Release Notes:

- N/A
2026-03-09 12:57:14 +00:00
Piotr Osiewicz 4d70e3b436 Remove unreferenced dev dependencies (#51093)
This will help with test times (in some cases), as nextest cannot figure
out whether a given rdep is actually an alive edge of the build graph

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
2026-03-09 13:22:12 +01:00
Danilo Leal cfdb4b3bc4 agent_ui: Add keybinding and action for worktree toggle (#51092)
This PR adds an action and keybinding to trigger the worktree dropdown
in the agent panel. This is still under a feature flag, so no release
notes yet.

Release Notes:

- N/A
2026-03-09 08:55:16 -03:00
Piotr Osiewicz 96eb858a56 recent_projects: Don't panic when attempting to delete SSH server out of bounds (#51091)
Fixes ZED-517

Can be reproed by:

    Going into server options of the last server on your list.
    selecting "Remove server".
Clicking on the button AND issuing menu::Confirm action at the same time
(well, roughly the same time).

The result: OS pop-up is issued twice; if the user does confirm twice,
that's when that panic is hit.

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:

- Fixed a potential crash when deleting SSH servers too eagerly.
2026-03-09 11:07:33 +00:00
DinoandAfonso e640a218da git: Introduce restore and next action (#50324)
Add a `git::RestoreAndNext` action that restores the diff hunk at the
cursor and advances to the next hunk. In the git diff view, the default
restore keybinding (`cmd-alt-z` on macOS, `ctrl-k ctrl-r` on
Linux/Windows) is remapped to this action so users can quickly restore
hunks in sequence. Also refactor `go_to_hunk_before_or_after_position`
to accept a `wrap_around` parameter, eliminating duplicated
hunk-navigation logic in `do_stage_or_unstage_and_next` and
`restore_and_next`.

Release Notes:

- Added a `git: restore and next` action that restores the diff hunk at
  the cursor and moves to the next one. In the git diff view, the
  default restore keybinding (`cmd-alt-z` on macOS, `ctrl-k ctrl-r` on
  Linux/Windows) now triggers this action instead of `git: restore`.

---------

Co-authored-by: Afonso <4775087+afonsograca@users.noreply.github.com>
2026-03-09 10:50:43 +00:00
Finn Evers 0a648466b9 extension_cli: Add tests for semantic token rules and language tasks (#50750)
This adds checks to the extension CLI to ensure that tasks and semantic
token rules are actually valid for the compiled extensions.

Release Notes:

- N/A
2026-03-09 11:47:12 +01:00
Finn Evers fdc50cf6bd docs: Add CC BY 4.0 and Unlicense as accepted extension licenses (#51089)
Release Notes:

- N/A
2026-03-09 11:32:53 +01:00
Lukas Wirth 1f65f4b56e auto_update: Always display update progress when requesting manual update (#51087)
Before if a user requested a manual update check while an automatic one
was going we were not showing the update status as automatic ones force
hide them. Now requesting a manual check while an automatic one is
already going will instead make it visible.


Release Notes:

- N/A *or* Added/Fixed/Improved ...
2026-03-09 10:10:42 +00:00
Lukas Wirth 5847c96b3e editor: Fix underflow panic in block map sync when blocks overlap (#51078)
In `BlockMap::sync`, blocks within an edited region are sorted and
processed sequentially. Each block placement computes
`rows_before_block` by subtracting `new_transforms.summary().input_rows`
from the block's target position. The `Near`/`Below` cases have a guard
that skips the block if the target is already behind the current
progress, but `Above` and `Replace` were missing this guard.

When a `Replace` block (tie_break 0) is processed before an `Above`
block (tie_break 1) at the same or overlapping position, the `Replace`
block consumes multiple input rows, advancing `input_rows` past the
`Above` block's position. The subsequent `position - input_rows`
subtraction underflows on `u32`, producing a huge `RowDelta` that wraps
`wrap_row_end` past `wrap_row_start`, creating an inverted range that
propagates through the display map layers and panics as `begin <= end
(47 <= 0)` in a rope chunk slice.

Add underflow guards to `Above` and `Replace`, matching the existing
pattern in `Near`/`Below`.

Release Notes:

- Fixed a source of underflowing subtractions causing spurious panics
2026-03-09 08:45:46 +00:00
Lukas Wirth e3b7b83a89 editor: Prevent panic in lsp_symbols_at_cursor with diff hunks handling (#51077)
Fixes ZED-5M9

No test as I couldn't quite reproduce this, as the cause is mostly a
guess

Release Notes:

- Fixed a panic in `lsp_symbols_at_cursor` when dealing with diff hunks
2026-03-09 08:35:19 +00:00
ishaksebsib 83744cb870 Reuse existing bundled file editors (#51053)
Closes #46837

Reuse the existing read-only bundled editor when opening default
settings or default key bindings again, instead of creating a duplicate
tab each time.

Also adds a regression test covering repeated `OpenDefaultSettings`
dispatches.

### Before


https://github.com/user-attachments/assets/ac2477b0-dc57-451c-a400-667c3613da2c


### After


https://github.com/user-attachments/assets/309fbd32-6dad-40a0-a864-b638a583ef52



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 default settings and default key bindings reopening duplicate
tabs instead of reusing the existing tab.
2026-03-08 13:48:08 -04:00
ishaksebsibandKunall Banerjee 49206def62 docs: Fix YAML syntax error in frontmatter (#51004)
The title in the YAML front matter contained a colon, which YAML
interprets as a key-value separator, causing a parse error. Quoted the
title value to fix it.

<img width="1087" height="248" alt="image"
src="https://github.com/user-attachments/assets/f074af0e-937c-4289-80a9-83cde294fd23"
/>

Release Notes:

- N/A

---------

Co-authored-by: Kunall Banerjee <hey@kimchiii.space>
2026-03-08 16:53:46 +00:00
John Tur 938c8870e4 Enable extended reasoning for Anthropic models in Copilot (#46540)
Fixes https://github.com/zed-industries/zed/issues/45668

https://github.com/microsoft/vscode-copilot-chat used as a reference for
headers and properties we need to set

| Before | After | 
| --- | --- |
| <img width="300"
src="https://github.com/user-attachments/assets/d112a9ef-52d2-42ff-a77b-4b4b15f950fe"
/>| <img width="300"
src="https://github.com/user-attachments/assets/0f1d7ae0-bee1-46f7-92ef-aea0fa6cde7a"
/> |

Release Notes:

- Enabled thinking mode when using Anthropic models with Copilot
2026-03-08 09:34:46 +00:00
Oleksiy Syvokon 80c52fb00a ep: Make repair parser more robust (#51044)
Release Notes:

- N/A
2026-03-08 09:27:10 +00:00
Leonard Seibold 60a5e8afd5 gpui(linux): Pass display_id to layer shell get_layer_surface (#50520)
Previously, `get_layer_surface` always passed `None` as the output,
causing all layer shell windows to appear on the compositor's default
output regardless of the requested display.

Store `wl_output` proxies in client state and resolve them from
`DisplayId` so the correct output is passed to `get_layer_surface`.

Release Notes:

- N/A
2026-03-08 00:39:04 -05:00
John Tur 850943f89e Disable the IME on Windows when text input is unexpected (#51041)
Fixes #42444

- Changed `accepts_text_input` on the editor to be more precise.
Previously, it returned `true` only in insert mode. Now it also returns
`true` when an operator is pending.
- On Windows, we disable the IME whenever there is no input handler
which `accepts_text_input`.
- How this improves Vim mode: in insert mode, the IME is enabled; in
normal mode, it is disabled (command keys are not intercepted); when an
operator is pending, the IME is re-enabled.

Release Notes:

- On Windows, the IME is disabled in Vim normal and visual modes.
2026-03-08 04:54:05 +00:00
John Tur b89152e516 Lazily initialize kernelspecs (#51026)
On Windows, the WSL VM always boots up when Zed is opened, because we
eagerly discover which jupyter kernels are installed inside WSL on
startup. This is not desirable if the REPL feature is not being used.
Defer this work to the point where we actually need to know what kernels
are installed.

Release Notes:

- N/A
2026-03-07 20:51:22 -05:00
Smit Barmase 539993c307 git_ui: Fix mouse cursor hiding when clicking git entry in project diff (#51016)
Release Notes:

- Fixed mouse cursor disappearing when clicking a changed file in the Git Changes panel.
2026-03-07 23:38:28 +05:30
59c32db61f extension_api: Add language server schema methods (#48334)
(This should be merged after #48332)

This PR exposes the LSP settings schema functionality to extensions,
allowing them to provide JSON schema for `initialization_options` and
`settings` fields to enable autocomplete in settings files.

New extension API methods (v0.8.0+):
- `language_server_initialization_options_schema`
- `language_server_settings_schema`

Both methods return an optional JSON string conforming to JSON schema.
Older extension versions gracefully return `None`.

Release Notes:

- Added support for settings schemas for the next version of the
extension API so that settings autocompletion can be provided for
language server settings.

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: MrSubidubi <finn@zed.dev>
2026-03-07 11:05:10 +01:00
Conrad Irwin 6db3dc07f1 Fix retain cycle in on_app_quit (#50985)
Updates #50970

While investigating the executor shutdown code, Claude noticed that we
never
actually drop the app because of a reference cycle.

Release Notes:

- N/A
2026-03-07 04:15:23 +00:00
Conrad IrwinandEric Holk 9254331ee5 Remove Executor::close() (#50970)
Co-Authored-By: Eric Holk <eric@zed.dev>

In app drop we had been calling `.close()` on the executors. This caused
problems with the BackgroundExecutor on Linux because it raced with
concurrent work: If task A was running and about to poll task B, the
poll to task B would panic with "Task polled after completion". This
didn't really matter (because the app was shutting down anyway) but
inflated our panic metrics on Linux.

It turns out that the call to `.close()` is not needed. It was added to
prevent foreground tasks being scheduled after the app was dropped; but
on all platforms the App run method does not return until after the
ForegroundExecutor is stopped (so no further tasks will run anyway).

The background case is more interesting. In test code it didn't matter
(the background executor is simulated on the main thread so tests can't
leak tasks); in app code it also didn't really make a difference. When
`fn main` returns (which it does immediately after the app is dropped)
all the background threads will be cancelled anyway.

Further confounding debugging, it turns out that the App does not get
dropped on macOS and Windows due to a reference cycle; so this was only
happening on Linux where the app quit callback is dropped instead of
retained after being called. (Fix in #50985)

Release Notes:

- N/A

---------

Co-authored-by: Eric Holk <eric@zed.dev>
2026-03-07 04:11:45 +00:00
John Tur e9c497c4b1 Fix OpenGL initialization on Intel HD 4000 (#50983)
Almost there!

Release Notes:

- N/A
2026-03-07 03:22:49 +00:00
Danilo Leal 9d629a3a60 agent_ui: Add more refinements for v2 flag (#50968)
- Fixes message editor in empty state not consuming the whole height of
the panel
- Remove duped focused method in the `ListItem`
- Remove duped "new thread" buttons when group is empty
- Add some UI adjustments like removing labels and fading out truncated
items

Release Notes:

- N/A
2026-03-06 19:47:04 -03:00
Mikayla Maki a17155775b Add Zed Feature Process document (#50747)
Release Notes:

- N/A
2026-03-06 14:14:53 -08:00
Ben Kunkle 4d813fc41e ep: Add captured example fetching (#50960)
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 ...
2026-03-06 15:09:36 -05:00
Oleksiy Syvokon 0a6e5009f0 ep: Unify code in parse_output and zeta_prompt (#50958)
This also fixed `ep parse-output` for newer formats

Release Notes:

- N/A
2026-03-06 22:07:54 +02:00
Josh Robson Chase 651b61009a zed: Clear the FORCE_CLI_MODE environment variable after reading (#46475)
This prevents child processes (e.g. shells) from inheriting it. This
generally isn't an issue, since zed is the only thing that cares about
it, but if you're trying to run zed *from* zed, you would first need to
unset it manually.

Release Notes:

- N/A
2026-03-06 19:18:33 +00:00
NeelandTom Houlé ecff44006c Refresh LLM API token on organization change (#50931)
Emit client-side organization changed events through
`RefreshLlmTokenListener` so it produces the same `RefreshLlmTokenEvent`
used for server-pushed `UserUpdated` messages.

This keeps token refresh fan-out in one place.

Closes CLO-383.

Release Notes:

- N/A

---------

Co-authored-by: Tom Houlé <tom@tomhoule.com>
2026-03-06 19:15:21 +00:00
Kyle Kelley edb2299a88 repl: Switch to util::process::Child to rely on process groups (#48839)
Follow up to https://github.com/zed-industries/zed/pull/48760 thanks to
@miguelraz and @reflectronic.

No new notes since #48760 did the same thing, only wasn't opting in to
process groups we already had in place.

Release Notes:

- N/A
2026-03-06 11:04:23 -06:00
Antoine MathieandBennet Bo Fenner cb150b47b5 ai: Add LMStudio API URL & API key support (#48309)
Hello,

This pull request aims to improve usage of lmstudio ai provider for
remote lmstudio nodes and support api key authentication.

This has been tested on my local network from a headless lms node. See
attached demo vid

Release Notes:

- lmstudio: Added support for specifying an API key via the UI


https://github.com/user-attachments/assets/7594cf49-3198-4171-b3e9-c3264cf35b6e

---------

Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
2026-03-06 16:49:55 +00:00
Anthony Eid acdb6b7573 sidebar: Improve keyboard navigation (#50938)
We know outline the focus sidebar entry similar to the project panel.
This allows users to see what they have selected vs active

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
- [x] Aligned any UI changes with the [UI
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)

Release Notes:

- N/A
2026-03-06 16:26:52 +00:00