Group vertical tabs by project#9876
Draft
rgatx wants to merge 1 commit intowarpdotdev:masterfrom
Draft
Conversation
|
Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have the users @rgatx on file. In order for us to review and merge your code, each contributor must visit https://cla.warp.dev to read and agree to our CLA. Once you have done so, please comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds an optional vertical-tabs setting to group visible tabs by detected project root. When enabled, vertical tabs render lightweight project section headers using the detected git repo root when available, falling back to the tab working directory. Unknown tabs remain independent so unrelated tabs are not collapsed together.
This is scoped to vertical tabs only and is default-off.
What changed
appearance.vertical_tabs.group_by_project, defaultfalse.DetectedRepositorieswhen available./mnt/<drive>/...paths to the same grouping key shape.Notes on drag/drop behavior
When project grouping is enabled, dragging tabs or dropping panes may materialize the grouped visual order into the underlying tab order so grouped sections stay contiguous. While a vertical-tabs search filter is active, pane drops fall back to flat tab insertion rather than materializing a partial filtered order, to avoid reordering tabs that are hidden by search.
Scope
This PR is intentionally narrow. It does not propose a workspace concept, an explicit project configuration, or any UI beyond the existing vertical tab grouping setting surface. It only changes how tabs are grouped when the existing "Group by project" setting is enabled.
The resolver is structured to compose with the upcoming
projectprimitive on the May–June 2026 roadmap (#9233). The detected project identity from this PR can be replaced or augmented by an explicit project configuration without changing the resolver's signature. The current order — git repo root, then normalized cwd, then unknown — would gain an explicit-project-match step at position 1 once that primitive lands.Follow-ups
Linked Issue
Draft PR for #9875.
ready-to-specorready-to-implement.Issue is pending maintainer guidance on whether this needs a spec PR first or can be marked
ready-to-implement.Screenshots / Videos
Pending. This PR is opened as draft until visual evidence is attached.
Testing
cargo fmt -p warp --checkgit diff --check origin/master...HEADcargo check -p warpcargo test -p warp --lib workspace::view::vertical_tabscargo test -p warp --lib visual_tab_order_rewriteNote: local
./script/presubmitwas not completed because this machine is using Homebrewrustc 1.93.0/Clippy while the repo pins1.92.0; Clippy 1.93 reports newunnecessary_unwrapwarnings in currentorigin/masterunrelated to this branch.Agent Mode
Changelog Entries for Stable
CHANGELOG-IMPROVEMENT: Optionally group vertical tabs by detected git repo or working directory.
Co-Authored-By: Warp agent@warp.dev