ZIm/crates
Kirill Bulatov af50261ae2
Allow folding buffers inside multi buffers (#22046)
Closes https://github.com/zed-industries/zed/issues/4925


https://github.com/user-attachments/assets/e7b87375-893f-41ae-a2d9-d501499e40d1


Allows to fold any buffer inside multi buffers, either by clicking the
chevron icon on the header, or by using
`editor::Fold`/`editor::UnfoldLines`/`editor::ToggleFold`/`editor::FoldAll`
and `editor::UnfoldAll` actions inside the multi buffer (those were noop
there before).

Every fold has a fake line inside it, so it's possible to navigate into
that via the keyboard and unfold it with the corresponding editor
action.

The state is synchronized with the outline panel state: any fold inside
multi buffer folds the corresponding file entry; any file entry fold
inside the outline panel folds the corresponding buffer inside the multi
buffer, any directory fold inside the outline panel folds the
corresponding buffers inside the multi buffer for each nested file entry
in the panel.


Release Notes:

- Added a possibility to fold buffers inside multi buffers

---------

Co-authored-by: Antonio Scandurra <antonio@zed.dev>
Co-authored-by: Max Brunsfeld <max@zed.dev>
Co-authored-by: Cole Miller <cole@zed.dev>
2024-12-16 00:32:07 +02:00
..
activity_indicator language servers: Fix wrong language server name (#20428) 2024-11-11 10:18:38 +01:00
anthropic assistant: Remove low_speed_timeout (#20681) 2024-11-15 07:37:31 +01:00
assets add ui::Vector and separate images from icons (#17815) 2024-09-13 17:44:16 -04:00
assistant Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
assistant2 assistant2: Refine context pickers (#21996) 2024-12-13 17:26:10 -05:00
assistant_slash_command Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
assistant_tool Factor tool definitions out of assistant (#21189) 2024-11-25 18:26:34 -05:00
assistant_tools assistant2: Add support for using tools (#21190) 2024-11-25 19:44:34 -05:00
audio Update Rust crate rodio to 0.20.0 (#20955) 2024-11-28 10:58:36 +02:00
auto_update Extract auto_update_ui crate (#21008) 2024-11-21 14:11:57 -05:00
auto_update_ui Extract auto_update_ui crate (#21008) 2024-11-21 14:11:57 -05:00
breadcrumbs Add missing shortcuts in tooltips (#18282) 2024-09-27 11:06:48 +02:00
call Fix audio tooltip logic (#21941) 2024-12-12 15:20:21 -08:00
channel Use Instant not chrono for telemetry (#20756) 2024-11-19 08:23:12 -07:00
cli Update Rust crate ipc-channel to 0.19 (#20951) 2024-11-28 10:58:10 +02:00
client Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
clock Use Instant not chrono for telemetry (#20756) 2024-11-19 08:23:12 -07:00
collab Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
collab_ui Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
collections gpui: Add SVG rendering to img element and generic asset cache (#9931) 2024-03-29 17:09:49 -07:00
command_palette Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
command_palette_hooks Improve context server lifecycle management (#20622) 2024-11-13 13:55:06 -08:00
context_server context_server: Add missing types for MCP spec to protocol 2024-11-05 (#21498) 2024-12-04 10:45:25 -05:00
context_server_settings Factor tool definitions out of assistant (#21189) 2024-11-25 18:26:34 -05:00
copilot gpui: Don't export named Context from prelude (#21869) 2024-12-11 13:21:40 -05:00
db chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
diagnostics Allow folding buffers inside multi buffers (#22046) 2024-12-16 00:32:07 +02:00
docs_preprocessor Don't rely on relative path for docs preprocessor (#16883) 2024-08-26 11:43:13 -04:00
editor Allow folding buffers inside multi buffers (#22046) 2024-12-16 00:32:07 +02:00
evals windows: Set CREATE_NO_WINDOW for commands (#18447) 2024-11-20 16:52:38 -08:00
extension Add language icons to the language selector (#21298) 2024-12-02 15:01:09 -03:00
extension_api zed_extension_api: Add a short explanation of repo format (#21824) 2024-12-10 15:04:47 -05:00
extension_cli Add new extension crate (#20089) 2024-11-01 13:20:30 -04:00
extension_host Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
extensions_ui Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
feature_flags Add placeholder git panel (#21894) 2024-12-11 22:13:52 -05:00
feedback title_bar: Remove dependency on feedback (#21013) 2024-11-21 15:24:04 -05:00
file_finder Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
file_icons chore: Clean up allocs around project panel (#15422) 2024-07-29 14:21:41 +02:00
fs Fix opening repos when .git is a soft link (#21153) 2024-12-12 18:29:37 -08:00
fsevent Retain run loop (#11241) 2024-04-30 23:31:59 -06:00
fuzzy Fix fuzzy string match invariant check (#22032) 2024-12-15 01:15:22 -07:00
git Rename GitRepository.path() to GitRepository.dot_git_dir() (#22026) 2024-12-14 15:30:56 -07:00
git_hosting_providers git_hosting_providers: Fix support for GitLab remotes containing subgroups (#19962) 2024-10-30 11:16:44 -04:00
git_ui Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
go_to_line Only debounce the cursor position in multibuffer excerpts (#21946) 2024-12-12 18:27:06 -08:00
google_ai assistant: Remove low_speed_timeout (#20681) 2024-11-15 07:37:31 +01:00
gpui Remove Task::get_ready method I added, which is unusable in practice (#22012) 2024-12-14 03:21:41 -07:00
gpui_macros gpui: Add cursor style methods of nesw nwse resize (#21801) 2024-12-10 11:54:26 -07:00
html_to_markdown chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
http_client Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
image_viewer image viewer: Allow dropping images on pane (#21803) 2024-12-10 15:01:14 +01:00
indexed_docs Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
inline_completion Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
inline_completion_button zeta: Add adjustments to the review modal UI (#21920) 2024-12-12 11:17:08 -03:00
install_cli Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
journal chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
language Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
language_extension Add language icons to the language selector (#21298) 2024-12-02 15:01:09 -03:00
language_model Fuse LLM completion stream to avoid a panic (#21914) 2024-12-12 11:39:35 -05:00
language_model_selector Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
language_models Mention Lllama 3.3 in Ollama config panel (#21866) 2024-12-11 16:38:03 -05:00
language_selector Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
language_tools Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
languages Format code/fix broken CI build (#21997) 2024-12-13 17:25:54 -05:00
livekit_client Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
livekit_client_macos Bump to livekit 1.1.6 (#21660) 2024-12-06 12:06:55 -08:00
livekit_server Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
lsp Hide the implementation of Task (#22009) 2024-12-14 02:52:22 -07:00
markdown markdown: Make cx the last parameter to Markdown::new_text (#21497) 2024-12-03 18:39:00 -05:00
markdown_preview Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
media Use LiveKit's Rust SDK on Linux while continue using Swift SDK on Mac (#21550) 2024-12-05 15:06:17 -08:00
menu Show restart transformation button after successful inline assist (#20439) 2024-12-13 20:31:54 -08:00
multi_buffer Allow folding buffers inside multi buffers (#22046) 2024-12-16 00:32:07 +02:00
node_runtime windows: Set CREATE_NO_WINDOW for commands (#18447) 2024-11-20 16:52:38 -08:00
notifications Markdown preview image rendering (#21082) 2024-11-22 14:49:26 -08:00
ollama Fix inaccurate Ollama context length for qwen2.5 models (#20933) 2024-11-22 10:10:01 -05:00
open_ai Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
outline Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
outline_panel Allow folding buffers inside multi buffers (#22046) 2024-12-16 00:32:07 +02:00
paths Add initial FreeBSD support (#20480) 2024-11-11 18:39:05 +01:00
picker toolchains: Use language-specific terms in UI (#20985) 2024-11-21 15:57:22 +01:00
prettier Add .prettierignore support (#21297) 2024-12-12 15:45:44 -08:00
project Remove an unnecessary clone in get_permalink_to_line (#22027) 2024-12-14 15:52:39 -07:00
project_panel project panel: Reintroduce project panel knockout color (#21926) 2024-12-13 00:52:03 -03:00
project_symbols Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
proto Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
recent_projects Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
remote Fix panics from spawn_local tasks dropped on other threads in remote server (#21022) 2024-11-21 14:50:38 -07:00
remote_server Start to split out initialization and registration (#21787) 2024-12-11 14:05:10 -07:00
repl Hide the implementation of Task (#22009) 2024-12-14 02:52:22 -07:00
reqwest_client assistant: Remove low_speed_timeout (#20681) 2024-11-15 07:37:31 +01:00
rich_text Markdown preview image rendering (#21082) 2024-11-22 14:49:26 -08:00
rope rope: Minor optimization for tab indices (#20911) 2024-11-21 08:48:13 +01:00
rpc Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
search Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
semantic_index Add a prototype with a multi buffer having all project git changes (#21543) 2024-12-04 23:36:36 +02:00
semantic_version Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
session chore: Fix some violations of 'needless_pass_by_ref_mut' lint (#18795) 2024-10-07 01:29:58 +02:00
settings Update NorwegianExtended equivalents (#21665) 2024-12-06 16:42:58 -07:00
settings_ui Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
snippet Snippet choices (#13958) 2024-11-18 22:56:34 +01:00
snippet_provider Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
snippets_ui Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
sqlez Update rustls and sqlx (#21506) 2024-12-03 23:22:26 -05:00
sqlez_macros Add initial FreeBSD support (#20480) 2024-11-11 18:39:05 +01:00
story chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
storybook Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
sum_tree Speed up point translation in the Rope (#19913) 2024-10-30 10:59:03 +01:00
supermaven Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
supermaven_api chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
tab_switcher Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
task Add the ability for tasks to target the center pane (#22004) 2024-12-13 19:39:46 -08:00
tasks_ui Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
telemetry_events Introduce staff-only inline completion provider (#21739) 2024-12-09 14:26:36 +01:00
terminal Enable toolchain venv in new terminals (#21388) 2024-12-03 16:24:30 +01:00
terminal_view Fix terminal pane tabs arrangement and closing (#22013) 2024-12-14 16:13:04 +02:00
text Implement Helix Support (WIP) (#19175) 2024-12-03 23:19:52 -07:00
theme project panel: Use theme token for focused border color (#21593) 2024-12-05 19:17:26 -03:00
theme_extension Overhaul extension registration (#21083) 2024-11-22 19:02:32 -05:00
theme_importer Publish theme json schema v0.2.0 (#21428) 2024-12-03 12:57:39 -05:00
theme_selector Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
time_format chore: Fix several style lints (#17488) 2024-09-06 11:58:39 +02:00
title_bar Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
toolchain_selector Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
ui Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
ui_input Rename ui_text_field crate to ui_input (#13949) 2024-07-08 17:05:30 -04:00
ui_macros Fix DynamicSpacing docs (#20509) 2024-11-11 12:58:39 -05:00
util Revert "Resolve documentation for visible completions (#21705)" (#21985) 2024-12-13 12:22:26 -07:00
vcs_menu Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
vim vim: Maintain block cursor for navigating/non-modifying operators (#21502) 2024-12-13 19:06:18 -07:00
vim_mode_setting Extract VimModeSetting to its own crate (#21019) 2024-11-21 16:24:38 -05:00
welcome Improve StringMatchCandidate::new interface (#22011) 2024-12-14 13:35:36 -07:00
workspace Fix terminal pane tabs arrangement and closing (#22013) 2024-12-14 16:13:04 +02:00
worktree Rename GitRepository.path() to GitRepository.dot_git_dir() (#22026) 2024-12-14 15:30:56 -07:00
zed Toggle & Switch (#21979) 2024-12-13 14:23:02 -05:00
zed_actions Add the ability for tasks to target the center pane (#22004) 2024-12-13 19:39:46 -08:00
zeta Use consistent casing for provider name in telemetry (#21991) 2024-12-13 16:13:47 -05:00