ZIm/crates
Angelk90 387281fa5b
project_panel: Add hide_root when only one folder in the project (#25289)
Closes #24188

Todo:
- [x] Hide root when only one worktree
- [x] Basic tests
- [x] Docs
- [x] Fix `select_first` + tests
- [x] Fix auto collapse dir + tests
- [x] Fix file / dir creation + tests
- [x] Fix root rename case

| Show root | Hide root |
|--------|--------|
| <img width="272" alt="Screenshot 2025-02-20 alle 22 35 55"
src="https://github.com/user-attachments/assets/361d93c7-e1ad-4419-a5f4-be62c9632807"
/> | <img width="269" alt="Screenshot 2025-02-20 alle 22 36 11"
src="https://github.com/user-attachments/assets/62011f76-a24b-4297-9734-f5c3b9f75760"
/> |
| <img width="275" alt="Screenshot 2025-02-20 alle 22 56 33"
src="https://github.com/user-attachments/assets/77e7e6e6-3dfe-4e88-b4b0-b620cb809d2b"
/> | <img width="267" alt="Screenshot 2025-02-20 alle 22 55 53"
src="https://github.com/user-attachments/assets/fa1099c8-7ed0-45ef-a7cf-aeb54b8283b1"
/> |


Release Notes:

- Added support to hide the root entry of the Project Panel when there’s
only one folder in the project. This can be enabled by setting
`hide_root` to `true` in the `project_panel` config.

---------

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
2025-06-09 16:46:31 +05:30
..
activity_indicator debugger: Add spinners while session is starting up (#31548) 2025-05-29 01:58:40 +00:00
agent chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
agent_settings Store profile per thread (#31907) 2025-06-06 12:05:27 +00:00
anthropic anthropic: Fix Claude 4 model display names to match official order (#31218) 2025-05-22 21:00:54 +00:00
askpass askpass: Workaround rust lang 69343 (#30774) 2025-05-16 05:04:36 -04:00
assets Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
assistant_context_editor No longer instantiate recently opened agent threads on startup (#32285) 2025-06-07 14:53:36 -06:00
assistant_slash_command chore: Make terminal_view own the TerminalSlashCommand (#31070) 2025-05-21 09:27:54 +00:00
assistant_slash_commands context server: Make requests type safe (#32254) 2025-06-06 17:47:21 +02:00
assistant_tool gemini: Fix edge case when transforming MCP tool schema (#32373) 2025-06-09 10:27:21 +00:00
assistant_tools Replace async-watch with a custom watch (#32245) 2025-06-06 16:00:09 +00:00
audio agent: Add sound notification when done generating (#31472) 2025-05-26 21:20:41 -03:00
auto_update Show version info when downloading and installing updates (#31568) 2025-05-28 11:51:21 -04:00
auto_update_helper Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
auto_update_ui markdown_preview: Fix release notes title being overridden (#31703) 2025-05-30 08:29:52 +00:00
aws_http_client Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
bedrock bedrock: Fix ci failure due model enum and model name mismatch (#32049) 2025-06-04 10:41:12 +03:00
breadcrumbs breadcrumbs: Stylize filename in breadcrumbs when tab-bar is off and file is dirty (#30507) 2025-05-30 08:32:54 -07:00
buffer_diff zlog: Replace usages of env_logger in tests with zlog (#31436) 2025-05-26 11:48:50 -04:00
call Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
channel chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
cli Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
client chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
clock Add the ability to follow the agent as it makes edits (#29839) 2025-05-04 08:28:39 +00:00
collab Select applicable positions for lsp_ext methods more leniently (#32272) 2025-06-06 22:47:20 +00:00
collab_ui Add default method for CompletionProvider::resolve_completions (#32045) 2025-06-05 19:15:06 +00:00
collections Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
command_palette Validate actions in docs (#31073) 2025-06-04 19:18:12 +00:00
command_palette_hooks Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
component Fix typo (#32160) 2025-06-05 12:59:22 +00:00
context_server context_server: Update types to reflect latest protocol version (2025-03-26) (#32377) 2025-06-09 13:03:47 +02:00
copilot Add GitHub token environment variable support for Copilot (#31392) 2025-06-09 12:39:44 +02:00
credentials_provider Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
dap debugger: Fix issues with running Zed-installed debugpy + hangs when downloading (#32034) 2025-06-04 01:37:25 +02:00
dap_adapters debugger: Fix issues with running Zed-installed debugpy + hangs when downloading (#32034) 2025-06-04 01:37:25 +02:00
db Add end of service notifications (#30982) 2025-05-20 00:20:00 +00:00
debug_adapter_extension debugger beta: Fix dap_schema for DAP extensions (#31173) 2025-05-22 07:24:46 -04:00
debugger_tools Rename debug: commands to dev: (#30675) 2025-05-14 11:15:27 +02:00
debugger_ui Add default method for CompletionProvider::resolve_completions (#32045) 2025-06-05 19:15:06 +00:00
deepseek Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
diagnostics Pull diagnostics fixes (#32242) 2025-06-06 16:18:05 +03:00
docs_preprocessor Validate actions in docs (#31073) 2025-06-04 19:18:12 +00:00
editor chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
eval Replace async-watch with a custom watch (#32245) 2025-06-06 16:00:09 +00:00
extension extension: Update to wasm32-wasip2 target (#30953) 2025-05-26 16:06:38 +02:00
extension_api extension: Update to wasm32-wasip2 target (#30953) 2025-05-26 16:06:38 +02:00
extension_cli Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
extension_host chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
extensions_ui Improve Zed prompts for file path selection (#32014) 2025-06-03 20:35:25 +00:00
feature_flags Add a picker for jj bookmark list (#30883) 2025-05-17 16:42:45 +00:00
feedback Use shortened SHA when displaying version to install (#31281) 2025-05-23 14:53:53 +00:00
file_finder Use proper paths when determining file finder icons for external files (#32274) 2025-06-06 23:04:49 +00:00
file_icons Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fs git: Pick which remote to fetch (#26897) 2025-06-06 11:28:07 -04:00
fsevent Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
fuzzy Fix out-of-bounds panic in fuzzy matcher with Unicode/multibyte characters (#30546) 2025-05-12 14:43:14 +00:00
git chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
git_hosting_providers Allow configuring custom git hosting providers in project settings (#31929) 2025-06-03 12:23:01 -04:00
git_ui git: Add PushTo to select which remote to push (#31482) 2025-06-06 21:07:40 +00:00
go_to_line go_to_line: Show position relative to current excerpt in a multi-buffer (#31947) 2025-06-03 09:41:45 +02:00
google_ai google: Add latest versions of Gemini 2.5 Pro and Flash Preview (#32183) 2025-06-05 19:30:34 +00:00
gpui chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
gpui_macros Add a live Rust style editor to inspector to edit a sequence of no-argument style modifiers (#31443) 2025-05-26 17:43:57 +00:00
gpui_tokio Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
html_to_markdown Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
http_client Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
http_client_tls Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
icons agent: Allow to accept and reject all via the panel (#31971) 2025-06-03 15:20:25 -03:00
image_viewer Option to auto-close deleted files with no unsaved edits (#31920) 2025-06-03 13:18:29 +02:00
indexed_docs Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
inline_completion Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
inline_completion_button inline_completion_button: Fix links to account page (#31558) 2025-05-27 21:52:42 +00:00
inspector_ui Fix anchor biases for completion replacement ranges (esp slash commands) (#32262) 2025-06-06 20:54:00 +00:00
install_cli Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
jj Add a picker for jj bookmark list (#30883) 2025-05-17 16:42:45 +00:00
jj_ui Add a picker for jj bookmark list (#30883) 2025-05-17 16:42:45 +00:00
journal VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
language chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
language_extension debugger/extensions: Revert changes to extension store related to language config (#30225) 2025-05-08 14:01:39 +02:00
language_model Remove unused load_model method from LanguageModelProvider (#32070) 2025-06-04 14:07:01 +00:00
language_models Add GitHub token environment variable support for Copilot (#31392) 2025-06-09 12:39:44 +02:00
language_selector Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
language_tools Add newlines between messages in LSP RPC logs for more navigability (#31863) 2025-06-03 02:12:58 +00:00
languages Allow to run dynamic TypeScript and JavaScript tests (#31499) 2025-06-09 12:13:25 +02:00
livekit_api Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
livekit_client chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
lmstudio language_models: Add thinking support to LM Studio provider (#32337) 2025-06-09 11:55:34 +02:00
lsp Implement the rest of the worktree pulls (#32269) 2025-06-06 21:19:46 +00:00
markdown chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
markdown_preview chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
media Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
menu agent: Add new panel navigation dropdown (#29539) 2025-04-29 21:58:45 -03:00
migrator agent: Add Burn Mode setting migrator (#31718) 2025-05-30 08:10:12 -03:00
mistral language_models: Add support for images to Mistral models (#32154) 2025-06-09 10:00:02 +00:00
multi_buffer chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
node_runtime Replace async-watch with a custom watch (#32245) 2025-06-06 16:00:09 +00:00
notifications Move workspace::toast_layer::RunAction to zed_actions::toast::RunAction (#32222) 2025-06-06 06:23:09 +00:00
ollama Remove unused load_model method from LanguageModelProvider (#32070) 2025-06-04 14:07:01 +00:00
open_ai open_ai: Fix parallel tools issue (#30467) 2025-05-26 11:46:35 +00:00
open_router Add support for OpenRouter as a language model provider (#29496) 2025-06-03 15:59:46 +00:00
outline Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
outline_panel Remove previous multi buffer hardcode from the outline panel (#32321) 2025-06-07 23:54:47 +00:00
panel Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
paths Simplify debug launcher UI (#31928) 2025-06-02 21:24:08 +00:00
picker Allow to reuse PickerPopoverMenu outside of the model selector (#31684) 2025-05-29 12:55:47 +00:00
prettier lsp: Implement support for the textDocument/diagnostic command (#19230) 2025-06-05 19:42:52 +00:00
project chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
project_panel project_panel: Add hide_root when only one folder in the project (#25289) 2025-06-09 16:46:31 +05:30
project_symbols Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
prompt_store Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
proto Implement the rest of the worktree pulls (#32269) 2025-06-06 21:19:46 +00:00
recent_projects chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
refineable Add a live Rust style editor to inspector to edit a sequence of no-argument style modifiers (#31443) 2025-05-26 17:43:57 +00:00
release_channel Use shortened SHA when displaying version to install (#31281) 2025-05-23 14:53:53 +00:00
remote Make it possible to use cargo-zigbuild for ZED_BUILD_REMOTE_SERVER (#31467) 2025-05-27 16:56:27 +00:00
remote_server Replace async-watch with a custom watch (#32245) 2025-06-06 16:00:09 +00:00
repl python: Re-land usage of source file path in toolchain picker (#31893) 2025-06-02 16:29:06 +00:00
reqwest_client Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
rich_text Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
rope chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
rpc zlog: Replace usages of env_logger in tests with zlog (#31436) 2025-05-26 11:48:50 -04:00
rules_library agent: Refine rules library window design (#31994) 2025-06-03 14:59:17 -03:00
schema_generator Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
search Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
semantic_index Pass up intent with completion requests (#31710) 2025-05-29 20:43:12 +00:00
semantic_version Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
session Avoid unnecessary DB writes (#29417) 2025-04-25 17:41:49 +03:00
settings Allow configuring custom git hosting providers in project settings (#31929) 2025-06-03 12:23:01 -04:00
settings_ui Allow running certain Zed actions when headless (#32095) 2025-06-04 17:29:08 +00:00
snippet Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
snippet_provider Use read-only access methods for read-only entity operations (#31479) 2025-05-26 23:04:31 -04:00
snippets_ui snippets: Add icons and file names to snippet scope selector (#30212) 2025-05-26 13:44:09 +00:00
sqlez Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
sqlez_macros Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
story gpui: Add a standard text example (#30747) 2025-05-16 17:35:44 +02:00
storybook Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
streaming_diff Introduce a new StreamingEditFileTool (#29733) 2025-05-01 17:37:43 +02:00
sum_tree chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
supermaven Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
supermaven_api Keep file permissions when extracting zip archives on Unix (#31304) 2025-05-23 20:45:32 +00:00
tab_switcher tab_switcher: Add placeholder text (#31697) 2025-05-29 16:09:07 +00:00
task Revert "debugger beta: Fix bug where debug Rust main running action f… (#31743) 2025-05-30 14:32:59 +02:00
tasks_ui debugger: Run locators on LSP tasks for the new process modal (#32097) 2025-06-05 13:25:51 -04:00
telemetry Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
telemetry_events Add new action to run agent eval (#29158) 2025-04-21 21:30:21 -07:00
terminal chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
terminal_view Improve cursor style behavior for some draggable elements (#31965) 2025-06-06 16:56:27 -04:00
text chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
theme theme: Add colors for minimap thumb and border (#30785) 2025-05-26 18:23:41 +00:00
theme_extension Add workspace-hack (#27277) 2025-04-02 13:26:34 -07:00
theme_importer theme: Add colors for minimap thumb and border (#30785) 2025-05-26 18:23:41 +00:00
theme_selector Allow running certain Zed actions when headless (#32095) 2025-06-04 17:29:08 +00:00
time_format agent: Add date separators to Thread History (#29961) 2025-05-06 10:18:48 +00:00
title_bar gpui: Implement dynamic window control elements (#30828) 2025-06-06 10:11:24 -07:00
toolchain_selector python: Re-land usage of source file path in toolchain picker (#31893) 2025-06-02 16:29:06 +00:00
ui Improve cursor style behavior for some draggable elements (#31965) 2025-06-06 16:56:27 -04:00
ui_input component: Replace linkme with inventory (#30705) 2025-05-14 23:29:11 +02:00
ui_macros Update syn crate from 1.0.109 to 2.0.101 (#31301) 2025-05-23 19:31:25 +00:00
ui_prompt gpui: Improve window.prompt to support ESC with non-English cancel text on macOS (#29538) 2025-05-30 15:26:27 +00:00
util Add #[track_caller] to test utilities that involve marked text (#32043) 2025-06-04 02:37:27 +00:00
util_macros Fix license symlinks (#29758) 2025-05-01 19:24:14 +00:00
vim vim: Handle case sensitive search editor setting (#32276) 2025-06-09 06:12:23 -04:00
vim_mode_setting VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
watch chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
web_search agent: Expose web search tool to beta users (#29273) 2025-04-23 15:30:20 +00:00
web_search_providers Use anyhow more idiomatically (#31052) 2025-05-20 23:06:07 +00:00
welcome Cursor keymap (#31702) 2025-05-29 15:20:58 -04:00
workspace Add bound checks for resizing right dock (#32246) 2025-06-09 10:39:53 +00:00
worktree chore: Fix warnings for Rust 1.89 (#32378) 2025-06-09 13:11:57 +02:00
zed Introduce dynamic tab titles for unsaved files based on buffer content (#32353) 2025-06-08 17:30:33 -04:00
zed_actions Move workspace::toast_layer::RunAction to zed_actions::toast::RunAction (#32222) 2025-06-06 06:23:09 +00:00
zeta zlog: Replace usages of env_logger in tests with zlog (#31436) 2025-05-26 11:48:50 -04:00
zlog Initialize zlog default filters on init rather than waiting for settings load (#32209) 2025-06-06 00:49:30 -06:00
zlog_settings VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00