mirror of
https://github.com/zed-industries/zed.git
synced 2026-05-24 13:39:08 +00:00
Some checks are pending
Congratsbot / check-author (push) Waiting to run
Congratsbot / congrats (push) Blocked by required conditions
deploy_nightly_docs / deploy_docs (push) Waiting to run
run_tests / check_wasm (push) Blocked by required conditions
run_tests / check_style (push) Waiting to run
run_tests / orchestrate (push) Waiting to run
run_tests / extension_tests (push) Blocked by required conditions
run_tests / clippy_windows (push) Blocked by required conditions
run_tests / clippy_linux (push) Blocked by required conditions
run_tests / clippy_mac (push) Blocked by required conditions
run_tests / clippy_mac_x86_64 (push) Blocked by required conditions
run_tests / run_tests_windows (push) Blocked by required conditions
run_tests / run_tests_linux (push) Blocked by required conditions
run_tests / run_tests_mac (push) Blocked by required conditions
run_tests / doctests (push) Blocked by required conditions
run_tests / check_workspace_binaries (push) Blocked by required conditions
run_tests / build_visual_tests_binary (push) Blocked by required conditions
run_tests / check_dependencies (push) Blocked by required conditions
run_tests / check_docs (push) Blocked by required conditions
run_tests / check_licenses (push) Blocked by required conditions
run_tests / check_scripts (push) Blocked by required conditions
run_tests / check_postgres_and_protobuf_migrations (push) Blocked by required conditions
run_tests / tests_pass (push) Blocked by required conditions
Closes #52292 This PR preserves the scroll offset of the List used in Recent Projects while deleting items. It does that by: - Adding the `is_scrolled_to_end` method to the GPUI list, which helps us determine where the new selection should be, since it depends on whether items are taking the deleted slot from below or above. - Adding `ScrollBehavior` to `update_matches`, which lets you preserve the scroll offset even for `List` (not `UniformList`) after a reset. Before: https://github.com/user-attachments/assets/e3eb7092-59ec-4b54-b57a-503555addd27 After: https://github.com/user-attachments/assets/6929f6a0-04d7-44f9-a9b2-f9e5c077b368 Release Notes: - Fixed the recent projects list jumping to the top after deleting a project, so you can now bulk-delete entries by repeatedly clicking the delete icon or pressing the keybind.
75 lines
2.1 KiB
TOML
75 lines
2.1 KiB
TOML
[package]
|
|
name = "recent_projects"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
publish.workspace = true
|
|
license = "GPL-3.0-or-later"
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[lib]
|
|
path = "src/recent_projects.rs"
|
|
doctest = false
|
|
|
|
[features]
|
|
default = []
|
|
test-support = ["remote/test-support", "remote_connection/test-support", "project/test-support", "workspace/test-support"]
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
chrono.workspace = true
|
|
askpass.workspace = true
|
|
db.workspace = true
|
|
dev_container.workspace = true
|
|
editor.workspace = true
|
|
extension_host.workspace = true
|
|
fs.workspace = true
|
|
futures.workspace = true
|
|
fuzzy_nucleo.workspace = true
|
|
gpui.workspace = true
|
|
language.workspace = true
|
|
log.workspace = true
|
|
menu.workspace = true
|
|
node_runtime.workspace = true
|
|
open_path_prompt.workspace = true
|
|
ordered-float.workspace = true
|
|
paths.workspace = true
|
|
picker.workspace = true
|
|
project.workspace = true
|
|
release_channel.workspace = true
|
|
remote.workspace = true
|
|
remote_connection.workspace = true
|
|
semver.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
settings.workspace = true
|
|
task.workspace = true
|
|
telemetry.workspace = true
|
|
ui.workspace = true
|
|
ui_input.workspace = true
|
|
util.workspace = true
|
|
workspace.workspace = true
|
|
worktree.workspace = true
|
|
zed_actions.workspace = true
|
|
indoc.workspace = true
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
windows-registry = "0.6.0"
|
|
|
|
[dev-dependencies]
|
|
editor = { workspace = true, features = ["test-support"] }
|
|
extension.workspace = true
|
|
fs.workspace = true
|
|
gpui = { workspace = true, features = ["test-support"] }
|
|
http_client.workspace = true
|
|
language = { workspace = true, features = ["test-support"] }
|
|
picker = { workspace = true, features = ["test-support"] }
|
|
project = { workspace = true, features = ["test-support"] }
|
|
release_channel.workspace = true
|
|
remote = { workspace = true, features = ["test-support"] }
|
|
remote_connection = { workspace = true, features = ["test-support"] }
|
|
remote_server.workspace = true
|
|
serde_json.workspace = true
|
|
settings = { workspace = true, features = ["test-support"] }
|
|
workspace = { workspace = true, features = ["test-support"] }
|