Related discussions #26084 Worktree creations are implemented similar to how branch creations are handled on the branch picker (the user types a new name that's not on the list and a new entry option appears to create a new branch with that name). https://github.com/user-attachments/assets/39e58983-740c-4a91-be88-57ef95aed85b With this picker you have a few workflows: - Open the picker and type the name of a branch that's checked out on an existing worktree: - Press enter to open the worktree on a new window - Press ctrl-enter to open the worktree and replace the current window - Open the picker and type the name of a new branch or an existing one that's not checked out in another worktree: - Press enter to create the worktree and open in a new window. If the branch doesn't exists, we will create a new one based on the branch you have currently checked out. If the branch does exists then we create a worktree with that branch checked out. - Press ctrl-enter to do everything on the previous point but instead, replace the current window with the new worktre. - Open the picker and type the name of a new branch or an existing one that's not checked out in another worktree: - If a default branch is detected on the repo, you can create a new worktree based on that branch by pressing ctrl-enter or ctrl-shift-enter. The first one will open a new window and the last one will replace the current one. Note: If you preffer to not use the system prompt for choosing a directory, you can set `"use_system_path_prompts": false` in zed settings. Release Notes: - Added git worktree picker to open a git worktree on a new window or replace the current one - Added git worktree creation action --------- Co-authored-by: Cole Miller <cole@zed.dev>
80 lines
1.9 KiB
TOML
80 lines
1.9 KiB
TOML
[package]
|
|
name = "git_ui"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
name = "git_ui"
|
|
path = "src/git_ui.rs"
|
|
|
|
[features]
|
|
default = []
|
|
test-support = ["multi_buffer/test-support"]
|
|
|
|
[dependencies]
|
|
agent_settings.workspace = true
|
|
anyhow.workspace = true
|
|
askpass.workspace = true
|
|
buffer_diff.workspace = true
|
|
call.workspace = true
|
|
chrono.workspace = true
|
|
cloud_llm_client.workspace = true
|
|
collections.workspace = true
|
|
command_palette_hooks.workspace = true
|
|
component.workspace = true
|
|
db.workspace = true
|
|
editor.workspace = true
|
|
futures.workspace = true
|
|
fuzzy.workspace = true
|
|
git.workspace = true
|
|
gpui.workspace = true
|
|
itertools.workspace = true
|
|
language.workspace = true
|
|
language_model.workspace = true
|
|
linkify.workspace = true
|
|
log.workspace = true
|
|
markdown.workspace = true
|
|
menu.workspace = true
|
|
multi_buffer.workspace = true
|
|
notifications.workspace = true
|
|
panel.workspace = true
|
|
picker.workspace = true
|
|
project.workspace = true
|
|
recent_projects.workspace = true
|
|
remote.workspace = true
|
|
schemars.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
settings.workspace = true
|
|
strum.workspace = true
|
|
telemetry.workspace = true
|
|
theme.workspace = true
|
|
time.workspace = true
|
|
time_format.workspace = true
|
|
ui.workspace = true
|
|
util.workspace = true
|
|
watch.workspace = true
|
|
workspace.workspace = true
|
|
zed_actions.workspace = true
|
|
zeroize.workspace = true
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows.workspace = true
|
|
|
|
[dev-dependencies]
|
|
ctor.workspace = true
|
|
editor = { workspace = true, features = ["test-support"] }
|
|
gpui = { workspace = true, features = ["test-support"] }
|
|
indoc.workspace = true
|
|
pretty_assertions.workspace = true
|
|
project = { workspace = true, features = ["test-support"] }
|
|
settings = { workspace = true, features = ["test-support"] }
|
|
unindent.workspace = true
|
|
workspace = { workspace = true, features = ["test-support"] }
|
|
zlog.workspace = true
|