This PR introduces a project dropdown when working with multiple folders/projects in one workspace. Here are some interaction details that I hope improves the UX of working on this scenario significantly: - The dropdown shows the currently "active" project, which is determined by: - Either the file you're currently editing - Or the file you have just recently switched to - Some example cases: - If you are focused on file from project A but switch to project B in the titlebar, nothing happens. However, as soon as you type on the file from project A, the title bar will update and your active project will return to being project A. - If you're focused on file from project A and change tabs to a file from project B, the title bar will update, showing project B as the active one. - The content you'll see in the branch picker will correspond to the currently active project - It's still possible to reach the "Recent Projects" picker through the project dropdown - It's possible to do all interactions (trigger dropdown, select active project, and remove project from workspace) with the keyboard https://github.com/user-attachments/assets/e2346757-74df-47c5-bf4d-6354623b6f47 Note that this entire UX is valid only for a multiple folder workspace scenario; nothing changes for the single project case. Release Notes: - Workspace: Improved the UX of working with multiple projects in the same workspace through introducing a project dropdown that more clearly shows the currently active project as well as allowing you to change it.
77 lines
2.1 KiB
TOML
77 lines
2.1 KiB
TOML
[package]
|
|
name = "title_bar"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/title_bar.rs"
|
|
doctest = false
|
|
|
|
[features]
|
|
default = []
|
|
stories = ["dep:story"]
|
|
test-support = [
|
|
"call/test-support",
|
|
"client/test-support",
|
|
"collections/test-support",
|
|
"gpui/test-support",
|
|
"http_client/test-support",
|
|
"project/test-support",
|
|
"remote/test-support",
|
|
"util/test-support",
|
|
"workspace/test-support",
|
|
"recent_projects/test-support",
|
|
]
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
auto_update.workspace = true
|
|
call.workspace = true
|
|
channel.workspace = true
|
|
chrono.workspace = true
|
|
client.workspace = true
|
|
cloud_llm_client.workspace = true
|
|
db.workspace = true
|
|
git_ui.workspace = true
|
|
gpui = { workspace = true, features = ["screen-capture"] }
|
|
menu.workspace = true
|
|
notifications.workspace = true
|
|
project.workspace = true
|
|
recent_projects.workspace = true
|
|
remote.workspace = true
|
|
rpc.workspace = true
|
|
schemars.workspace = true
|
|
serde.workspace = true
|
|
settings.workspace = true
|
|
smallvec.workspace = true
|
|
story = { workspace = true, optional = true }
|
|
telemetry.workspace = true
|
|
theme.workspace = true
|
|
ui.workspace = true
|
|
util.workspace = true
|
|
workspace.workspace = true
|
|
zed_actions.workspace = true
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows.workspace = true
|
|
|
|
[dev-dependencies]
|
|
call = { workspace = true, features = ["test-support"] }
|
|
client = { workspace = true, features = ["test-support"] }
|
|
collections = { workspace = true, features = ["test-support"] }
|
|
gpui = { workspace = true, features = ["test-support"] }
|
|
http_client = { workspace = true, features = ["test-support"] }
|
|
notifications = { workspace = true, features = ["test-support"] }
|
|
pretty_assertions.workspace = true
|
|
project = { workspace = true, features = ["test-support"] }
|
|
rpc = { workspace = true, features = ["test-support"] }
|
|
settings = { workspace = true, features = ["test-support"] }
|
|
tree-sitter-md.workspace = true
|
|
util = { workspace = true, features = ["test-support"] }
|
|
workspace = { workspace = true, features = ["test-support"] }
|