Skip to content

Move the worktree picker to the title bar + make it always visible - #54183

Merged
benbrandt merged 27 commits into
mainfrom
worktree-picker-title-bar
Apr 20, 2026
Merged

benbrandt merged 27 commits into
mainfrom
worktree-picker-title-bar

Conversation

@danilo-leal

@danilo-leal danilo-leal commented Apr 17, 2026

Copy link
Copy Markdown
Member

This PR makes Zed only have one worktree picker, as opposed to a flavor of it in the title bar and another in the agent panel. It then moves it to the title bar, making it always present, so that its trigger is separate from the branch picker (which now contains only two views: branches and stashes). For the worktree picker, I'm mostly favoring the behavior we've introduced in the agent-panel-flavored version.

It also updates the title bar settings migration to use the JSON migrate_settings helper instead of a shallow Tree-sitter rewrite, so old show_branch_icon = true values are promoted to show_branch_status_icon = true across root, platform, release-channel, and profile settings scopes.

  • Move worktree creation logic to the git_ui crate to make this more generic and less agent-specific
  • Double-check the remote use case and ensure nothing broke there
  • Improve the UX for the detached HEAD state; better invite people to create a branch
  • Migrate show_branch_icon = true to show_branch_status_icon = true across nested settings scopes

Suggested .rules additions

When migrating renamed settings keys that can appear in platform overrides, release-channel overrides, or profiles, prefer the JSON migrations::migrate_settings helper over shallow Tree-sitter key rewrites unless tests explicitly cover every nested scope that can contain the key.

Release Notes:

  • Improved migration of the title bar branch status icon setting.

@danilo-leal danilo-leal self-assigned this Apr 17, 2026
@cla-bot cla-bot Bot added the cla-signed The user has signed the Contributor License Agreement label Apr 17, 2026
@zed-community-bot zed-community-bot Bot added the staff Pull requests authored by a current member of Zed staff label Apr 17, 2026
@nathansobo

Copy link
Copy Markdown
Contributor

A couple questions and observations from review:

  1. In crates/title_bar/src/title_bar.rs, the branch button still computes a status-aware icon based on conflict / modified / added / deleted state, but the rendered button now always shows a muted GitBranch icon. Was that change in intent deliberate? I wanted to check whether losing the at-a-glance repo status indicator in the title bar was expected here.

  2. In crates/git_ui/src/worktree_picker.rs, the create-worktree entries appear disabled in unsupported contexts, but confirm still dispatches CreateWorktree for the fixed create entries CreateFromCurrentBranch and CreateFromDefaultBranch. Then agent_panel rejects the action later for no-git or collab cases. From the user side, that seems like it can still look like a silent no-op when the picker dismisses without clear feedback. Also, the disabled tooltip text looks a bit misleading for collab projects since it always says Requires a Git repository in the project.

Wanted to flag both in case they were unintentional.

@nathansobo

Copy link
Copy Markdown
Contributor

One scope question from review: why are the bookmark changes part of this PR? I noticed the diff/history here pulls in the new bookmark store/editor/persistence work as well, but the rest of the PR reads as title bar / git picker / worktree UX. Are the bookmark pieces intentionally coupled to this change, or are they carryover from branch history that should be split out?

nathansobo and others added 6 commits April 18, 2026 08:31
This stacks on top of #54183 and finishes the worktree-switch refactor
toward the explicit source-workspace architecture.

@danilo-leal

> [!WARNING]
> This is very much still a work in progress.
> I have **not** run the test suite or even re-run targeted checks on
the latest state after the most recent mechanical API-shape updates.
> This PR should be treated as a draft hand-off / continuation point,
not as a ready-for-review change.

### What this follow-up changes

- makes `MultiWorkspace::activate(...)` use one canonical form with
`source_workspace: Option<WeakEntity<Workspace>>`
- threads that source workspace explicitly through the worktree
switch/create activation flow
- makes `MultiWorkspaceEvent::ActiveWorkspaceChanged` carry the source
workspace explicitly
- moves agent-specific interpretation into the panel setup path in `zed`
- makes `AgentPanel` inspect the source workspace's `AgentPanel`
directly instead of consuming copied draft state
- removes transient handoff mechanisms instead of introducing a generic
transition blob or mailbox

### Removed handoff mechanisms

- `PendingWorktreeDraftStore`
- `stash_pending_worktree_draft(...)`
- `take_pending_worktree_draft(...)`
- the `WorktreeCreationChanged` draft-transport subscription in
`AgentPanel`
- the temporary `Workspace.pending_source_workspace` approach
- the split `activate_with_source_workspace(...)` API in favor of a
single canonical `activate(...)`

### Important current status

The architectural refactor is in place, but there is still mechanical
fallout from changing `activate(...)` to the canonical 4-argument form.
The main remaining cleanup is updating old test/helper call sites that
still use the former 3-argument activation signature, especially in
`crates/sidebar/src/sidebar_tests.rs`.

I wrote a detailed hand-off doc at:

- `WORKTREE_SWITCH_REFACTOR_HANDOFF.md`

That document explains the intended architecture, the files changed,
what was removed, and the remaining follow-up work.

Release Notes:

- Improved worktree switching so destination workspaces and agent panels
can initialize directly from the source workspace.

---------

Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
@danilo-leal
danilo-leal marked this pull request as ready for review April 18, 2026 12:25
@benbrandt
benbrandt enabled auto-merge (squash) April 20, 2026 09:18
@benbrandt
benbrandt merged commit 9daf886 into main Apr 20, 2026
31 checks passed
@benbrandt
benbrandt deleted the worktree-picker-title-bar branch April 20, 2026 09:29
eholk added a commit that referenced this pull request Apr 21, 2026
Cherry picks for the next v0.233.x preview release, focused on sidebar
and agent panel fixes and improvements. Built incrementally so CI can
validate as we go.

### Cherry-picked PRs

Listed in the order they were applied (chronological merge order on
`main`). `[x]` = applied on this branch; `[ ]` = todo; `[-]` = skipped.

- [x] #53956 — sidebar: Remove View More batched thread expansion
- [x] #53998 — Make flexible dock widths more closely match full-height
pane splits
- [x] #54006 — agent: Inline worktree info fetching to remove expects in
agent_panel
- [x] #53854 — Simplify parallel agents onboarding
- [x] #54025 — sidebar: Add some UI adjustments
- [-] #53982 — sidebar: Refactor thread time storage (skipped — paired
with revert #54078, net zero)
- [-] #54078 — Revert "sidebar: Refactor thread time storage (#53982)"
(skipped — paired with #53982, net zero)
- [x] #54090 — agent_ui: Do not show token limit callout for external
agents
- [x] #54126 — agent_ui: Adjust thread item component and fix thread
switcher
- [x] #54075 — Rename Archive view to Thread History
- [x] #54125 — agent: Auto-select user model when there's no default
- [x] #54128 — sidebar: Fix cmd-click in the header not taking to the
last workspace
- [x] #54178 — agent_ui: Fix UI issues with activity bar
- [x] #54187 — agent_ui: Only surface the regenerate title item for the
Zed agent
- [x] #54205 — agent: Clean up old remove worktree manage folder code
- [x] #54207 — Add list of open workspaces to the project group menu in
the sidebar
- [x] #54198 — Fix remote projects not appearing in the sidebar after
adding them to the window
- [x] #54206 — Feature flag overrides
- [-] #53100 — workspace: Skip read-only paths when choosing default
save location (skipped for this release)
- [-] #54183 — Move the worktree picker to the title bar + make it
always visible (skipped — very large refactor, deferred to a future
release)
- [x] #54314 — agent_ui: Add `show thread metadata` action
- [x] #54317 — sidebar: Open project header ellipsis menu on right-click
- [x] #54316 — agent_ui: Add setting for turning off content max-width
- [x] #54256 — Add support for Netpbm image previews
- [x] #54320 — sidebar: Consistently set `interacted_at`
- [x] #54318 — agent: Respect favorite model settings and sync UI
changes back to settings
- [x] #54348 — Always use `ArchiveSelectedThread` action for archiving
threads
- [x] #54353 — agent: When opening a remote thread check that the linked
worktree path exists
- [x] #54365 — Avoid constantly scrolling thread history to top as agent
generates

### Conflict resolution notes

- **#53956** — On `v0.233.x`, `sidebar_tests.rs` still contained
`test_search_finds_threads_hidden_behind_view_more`, which exercised
behavior #53956 removes. Deleted the test along with the rest of the
View More functionality; no changes to the substance of the
cherry-picked patch.
- **#53998** — Supersedes standalone cherry-pick PR #54366 (which can be
closed).
- **#53982 / #54078** — Skipped both. They form a refactor-and-revert
pair on `main` with net zero change. Since `v0.233.x` already has #54173
("sidebar: Fix sidebar thread times") applied on top of the pre-#53982
state, pulling both in would be churn with no end-state difference.
- **#54025** — `crates/ui/src/components/ai/thread_item.rs`: accepted
incoming side for the `worktree_tooltip_title` removal and converted the
patch's `match (wt.kind, wt.branch_name)` structure back to `v0.233.x`'s
`match wt.kind` structure (the #54067 tuple match isn't on this branch).
Dropped the `linked_worktree_count` local after it became unused.
- **#54207** — `crates/sidebar/src/sidebar.rs`: accepted incoming side
for the project group menu restructure. This removes the
`show_multi_project_entries` gate around the "Remove Project" entry that
#54025 added — matching `main`'s state at #54207's parent.
- **#54314** — `crates/agent_ui/src/agent_panel.rs`: merged both sides
of two import conflicts, adding `ShowAllSidebarThreadMetadata` and
`ShowThreadMetadata` alongside the
`CreateWorktree`/`NewWorktreeBranchTarget`/`SwitchWorktree`/`ToggleWorktreeSelector`
imports that remain on `v0.233.x` (#54183 isn't here). Also merged the
`anyhow` and `chrono` `use` lines.
- **#54183** — Skipped. It's a 3,379/4,702-line refactor that moves the
worktree picker from the agent panel to the title bar. Too risky for a
preview release; should be handled as a dedicated PR if/when we want it
on `v0.233.x`.

Release Notes:

- Fixed a bug where flexible docks resized incorrectly in certain cases.
([#53998](#53998))
- Fixed an issue where resizing a flexible-width panel in the left dock
would also resize fixed-width panels.
([#53998](#53998))
- Agent: Fixed worktree and branch labels not showing up in the thread
switcher. ([#54126](#54126))
- Agent: Fixed the thread switcher not selecting on hover.
([#54126](#54126))
- Renamed the threads Archive view to Thread History and updated its
icon to a clock.
([#54075](#54075))
- Agent: Automatically select a model when there's no selected model or
configured default.
([#54125](#54125))
- Agent: Fixed a bug where cmd-clicking on the project header wouldn't
actually take you to the last active workspace.
([#54128](#54128))
- Agent: Added a new `limit_content_width` setting in the agent panel
that allows turning off the content max-width limit.
([#54316](#54316))
- Added support for PNM image previews (`.pbm`, `.ppm`, `.pgm`).
([#54256](#54256))
- Agent favorite models now remember and restore per-model thinking,
effort level, and fast mode preferences.
([#54318](#54318))

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>
Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Co-authored-by: Cameron Mcloughlin <cameron.studdstreet@gmail.com>
Co-authored-by: Vinícius Dutra <dutravinisousa2@usp.br>
Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
@eholk

eholk commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

/cherry-pick preview

@zed-zippy

zed-zippy Bot commented Apr 21, 2026

Copy link
Copy Markdown
Contributor

eholk added a commit that referenced this pull request Apr 21, 2026
…54183) (cherry-pick to preview) (#54378)

Cherry-pick of #54183 to `v0.233.x`.

This PR makes Zed only have one worktree picker, as opposed to a flavor
of it in the title bar and another in the agent panel. It then moves it
to the title bar, making it always present, so that its trigger is
separate from the branch picker (which now contains only two views:
branches and stashes). For the worktree picker, I'm mostly favoring the
behavior we've introduced in the agent-panel-flavored version.

It also updates the title bar settings migration to use the JSON
`migrate_settings` helper instead of a shallow Tree-sitter rewrite, so
old `show_branch_icon = true` values are promoted to
`show_branch_status_icon = true` across root, platform, release-channel,
and profile settings scopes.

### Conflicts resolved

- `crates/migrator/src/migrations.rs` and
`crates/migrator/src/migrator.rs` — kept both the existing
`m_2026_04_15` (HTTP context servers) migration already on `v0.233.x`
and the new `m_2026_04_17` (branch icon) migration from this
cherry-pick, in order.
- `crates/agent_ui/src/agent_panel.rs` — dropped the now-removed
`CreateWorktree`, `SwitchWorktree`, `NewWorktreeBranchTarget`, and
`ToggleWorktreeSelector` imports while preserving `ShowThreadMetadata` /
`ShowAllSidebarThreadMetadata` that landed via the omnibus cherry-pick
(#54368). Removed the top-level `anyhow!` import (only used inside
`#[cfg(test)]`, which has its own import); kept `chrono` since it's
still used by the metadata UI.

Release Notes:

- Improved migration of the title bar branch status icon setting.

Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
zed-zippy Bot added a commit that referenced this pull request Apr 23, 2026
…54612) (cherry-pick to stable) (#54643)

Cherry-pick of #54612 to stable

----
This PR fixes a regression that was likely caused by:
#54183 and wasn't caught
because I didn't add a regression test when I originally created the
feature.

The fix was only running the hooks when the worktree was just created,
and I added an integration test to prevent regressions from occurring
again in the future.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX

checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #54598

Release Notes:

- git: Fix create worktree hook tasks running when switching worktrees

Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>
zed-zippy Bot added a commit that referenced this pull request Apr 23, 2026
…54612) (cherry-pick to preview) (#54642)

Cherry-pick of #54612 to preview

----
This PR fixes a regression that was likely caused by:
#54183 and wasn't caught
because I didn't add a regression test when I originally created the
feature.

The fix was only running the hooks when the worktree was just created,
and I added an integration test to prevent regressions from occurring
again in the future.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX

checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #54598

Release Notes:

- git: Fix create worktree hook tasks running when switching worktrees

Co-authored-by: Anthony Eid <56899983+Anthony-Eid@users.noreply.github.com>
kathbigra pushed a commit to kathbigra/zed that referenced this pull request May 10, 2026
…ed-industries#54183)

This PR makes Zed only have one worktree picker, as opposed to a flavor
of it in the title bar and another in the agent panel. It then moves it
to the title bar, making it always present, so that its trigger is
separate from the branch picker (which now contains only two views:
branches and stashes). For the worktree picker, I'm mostly favoring the
behavior we've introduced in the agent-panel-flavored version.

It also updates the title bar settings migration to use the JSON
`migrate_settings` helper instead of a shallow Tree-sitter rewrite, so
old `show_branch_icon = true` values are promoted to
`show_branch_status_icon = true` across root, platform, release-channel,
and profile settings scopes.

- [x] Move worktree creation logic to the `git_ui` crate to make this
more generic and less agent-specific
- [x] Double-check the remote use case and ensure nothing broke there
- [x] Improve the UX for the detached HEAD state; better invite people
to create a branch
- [x] Migrate `show_branch_icon = true` to `show_branch_status_icon =
true` across nested settings scopes

Suggested .rules additions

When migrating renamed settings keys that can appear in platform
overrides, release-channel overrides, or profiles, prefer the JSON
`migrations::migrate_settings` helper over shallow Tree-sitter key
rewrites unless tests explicitly cover every nested scope that can
contain the key.

Release Notes:

- Improved migration of the title bar branch status icon setting.

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
kathbigra pushed a commit to kathbigra/zed that referenced this pull request May 10, 2026
…ed-industries#54612)

This PR fixes a regression that was likely caused by:
zed-industries#54183 and wasn't caught
because I didn't add a regression test when I originally created the
feature.

The fix was only running the hooks when the worktree was just created,
and I added an integration test to prevent regressions from occurring
again in the future.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes zed-industries#54598

Release Notes:

- git: Fix create worktree hook tasks running when switching worktrees
jasonsmithio pushed a commit to paddleboarddev/paddleboard that referenced this pull request May 31, 2026
…(#54612)

This PR fixes a regression that was likely caused by:
zed-industries/zed#54183 and wasn't caught
because I didn't add a regression test when I originally created the
feature.

The fix was only running the hooks when the worktree was just created,
and I added an integration test to prevent regressions from occurring
again in the future.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes #54598

Release Notes:

- git: Fix create worktree hook tasks running when switching worktrees
Zenor27 pushed a commit to Zenor27/zed that referenced this pull request Jul 4, 2026
…ed-industries#54183)

This PR makes Zed only have one worktree picker, as opposed to a flavor
of it in the title bar and another in the agent panel. It then moves it
to the title bar, making it always present, so that its trigger is
separate from the branch picker (which now contains only two views:
branches and stashes). For the worktree picker, I'm mostly favoring the
behavior we've introduced in the agent-panel-flavored version.

It also updates the title bar settings migration to use the JSON
`migrate_settings` helper instead of a shallow Tree-sitter rewrite, so
old `show_branch_icon = true` values are promoted to
`show_branch_status_icon = true` across root, platform, release-channel,
and profile settings scopes.

- [x] Move worktree creation logic to the `git_ui` crate to make this
more generic and less agent-specific
- [x] Double-check the remote use case and ensure nothing broke there
- [x] Improve the UX for the detached HEAD state; better invite people
to create a branch
- [x] Migrate `show_branch_icon = true` to `show_branch_status_icon =
true` across nested settings scopes

Suggested .rules additions

When migrating renamed settings keys that can appear in platform
overrides, release-channel overrides, or profiles, prefer the JSON
`migrations::migrate_settings` helper over shallow Tree-sitter key
rewrites unless tests explicitly cover every nested scope that can
contain the key.

Release Notes:

- Improved migration of the title bar branch status icon setting.

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
jonx pushed a commit to jonx/zed-aros that referenced this pull request Jul 17, 2026
…ed-industries#54183)

This PR makes Zed only have one worktree picker, as opposed to a flavor
of it in the title bar and another in the agent panel. It then moves it
to the title bar, making it always present, so that its trigger is
separate from the branch picker (which now contains only two views:
branches and stashes). For the worktree picker, I'm mostly favoring the
behavior we've introduced in the agent-panel-flavored version.

It also updates the title bar settings migration to use the JSON
`migrate_settings` helper instead of a shallow Tree-sitter rewrite, so
old `show_branch_icon = true` values are promoted to
`show_branch_status_icon = true` across root, platform, release-channel,
and profile settings scopes.

- [x] Move worktree creation logic to the `git_ui` crate to make this
more generic and less agent-specific
- [x] Double-check the remote use case and ensure nothing broke there
- [x] Improve the UX for the detached HEAD state; better invite people
to create a branch
- [x] Migrate `show_branch_icon = true` to `show_branch_status_icon =
true` across nested settings scopes

Suggested .rules additions

When migrating renamed settings keys that can appear in platform
overrides, release-channel overrides, or profiles, prefer the JSON
`migrations::migrate_settings` helper over shallow Tree-sitter key
rewrites unless tests explicitly cover every nested scope that can
contain the key.

Release Notes:

- Improved migration of the title bar branch status icon setting.

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
jonx pushed a commit to jonx/zed-aros that referenced this pull request Jul 17, 2026
…ed-industries#54612)

This PR fixes a regression that was likely caused by:
zed-industries#54183 and wasn't caught
because I didn't add a regression test when I originally created the
feature.

The fix was only running the hooks when the worktree was just created,
and I added an integration test to prevent regressions from occurring
again in the future.

Self-Review Checklist:

- [x] I've reviewed my own diff for quality, security, and reliability
- [x] Unsafe blocks (if any) have justifying comments
- [x] The content is consistent with the [UI/UX
checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist)
- [x] Tests cover the new/changed behavior
- [x] Performance impact has been considered and is acceptable

Closes zed-industries#54598

Release Notes:

- git: Fix create worktree hook tasks running when switching worktrees
jolutz pushed a commit to jolutz/zed that referenced this pull request Aug 8, 2026
…ed-industries#54183)

This PR makes Zed only have one worktree picker, as opposed to a flavor
of it in the title bar and another in the agent panel. It then moves it
to the title bar, making it always present, so that its trigger is
separate from the branch picker (which now contains only two views:
branches and stashes). For the worktree picker, I'm mostly favoring the
behavior we've introduced in the agent-panel-flavored version.

It also updates the title bar settings migration to use the JSON
`migrate_settings` helper instead of a shallow Tree-sitter rewrite, so
old `show_branch_icon = true` values are promoted to
`show_branch_status_icon = true` across root, platform, release-channel,
and profile settings scopes.

- [x] Move worktree creation logic to the `git_ui` crate to make this
more generic and less agent-specific
- [x] Double-check the remote use case and ensure nothing broke there
- [x] Improve the UX for the detached HEAD state; better invite people
to create a branch
- [x] Migrate `show_branch_icon = true` to `show_branch_status_icon =
true` across nested settings scopes

Suggested .rules additions

When migrating renamed settings keys that can appear in platform
overrides, release-channel overrides, or profiles, prefer the JSON
`migrations::migrate_settings` helper over shallow Tree-sitter key
rewrites unless tests explicitly cover every nested scope that can
contain the key.

Release Notes:

- Improved migration of the title bar branch status icon setting.

---------

Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Zed Zippy <234243425+zed-zippy[bot]@users.noreply.github.com>
Co-authored-by: Ben Brandt <benjamin.j.brandt@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The user has signed the Contributor License Agreement staff Pull requests authored by a current member of Zed staff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants