ZIm/crates
Piotr Osiewicz 5dc54863a4
project panel: Improve performance in large projects (#13202)
In #12980 I've hoisted out creation of HashSet<PathInWorktree> out of
render_entry, which made us not create that hash set for each entry in a
worktree on each frame. In current nightly, we do it once per call to
render() on the whole worktree, which is better.

However, we can still reuse the hashed between the frames, if the
worktree has not changed. Once we calculate the hashset for a given
worktree state, we keep it around for as long as the state is valid for.
We calculate the HashSet lazily, as we may not necessarily need it if
the project panel is collapsed. In large worktrees, this helps keep the
CPU usage of the main thread low-ish.


Release Notes:

- Improved performance of project panel in large worktrees.
2024-06-18 15:09:52 +02:00
..
activity_indicator Allow canceling in-progress language server work (e.g. cargo check) (#13173) 2024-06-17 17:58:47 -07:00
anthropic Improve model selection in the assistant (#12472) 2024-05-30 12:36:07 +02:00
assets Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
assistant Preserve sections generated by slash commands when reloading a context (#13199) 2024-06-18 14:49:53 +02:00
assistant_slash_command Preserve sections generated by slash commands when reloading a context (#13199) 2024-06-18 14:49:53 +02:00
assistant_tooling Bring the Tool Calling README up to date (#11683) 2024-05-12 04:47:19 -07:00
audio Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
auto_update Auto updater disabler (#12660) 2024-06-04 15:56:18 -07:00
breadcrumbs Break typography styles out of StyledExt (#11013) 2024-04-25 17:42:53 -04:00
call extension_cli: Allow building without dynamically linking WebRTC (#13080) 2024-06-14 20:13:31 -04:00
channel Pull app / OS info out of GPUI, add Linux information, make fallible window initialization (#12869) 2024-06-11 11:43:12 -07:00
cli Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
client Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
clock Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
collab lsp: Revert URL type change (#13193) 2024-06-18 12:39:56 +02:00
collab_ui ui: Use PopoverMenu::new for constructing PopoverMenus (#13178) 2024-06-17 18:14:37 -04:00
collections gpui: Add SVG rendering to img element and generic asset cache (#9931) 2024-03-29 17:09:49 -07:00
command_palette Use UpdateGlobal accessors in more places (#11925) 2024-05-16 13:30:04 -04:00
command_palette_hooks Introduce InlineCompletionProvider (#9777) 2024-03-26 13:28:06 +01:00
copilot lsp: Revert URL type change (#13193) 2024-06-18 12:39:56 +02:00
db Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
dev_server_projects Allow ssh connection for setting up zed (#12063) 2024-05-21 22:39:16 -06:00
diagnostics Allow canceling in-progress language server work (e.g. cargo check) (#13173) 2024-06-17 17:58:47 -07:00
editor lsp: Revert URL type change (#13193) 2024-06-18 12:39:56 +02:00
extension Preserve sections generated by slash commands when reloading a context (#13199) 2024-06-18 14:49:53 +02:00
extension_api Block publishing of zed_extension_api v0.0.7 (#12784) 2024-06-07 14:16:21 -04:00
extension_cli extension_cli: Allow building without dynamically linking WebRTC (#13080) 2024-06-14 20:13:31 -04:00
extensions_ui ui: Use PopoverMenu::new for constructing PopoverMenus (#13178) 2024-06-17 18:14:37 -04:00
feature_flags Make prompt library icon in context panel staff-only for now (#12457) 2024-05-29 16:53:45 -06:00
feedback Refine inline transformation UX (#12939) 2024-06-13 08:35:22 +02:00
file_finder assistant: Add diagnostics slash command (#12998) 2024-06-14 17:14:50 +02:00
file_icons Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
fs Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
fsevent Retain run loop (#11241) 2024-04-30 23:31:59 -06:00
fuzzy Introduce an outline panel (#12637) 2024-06-12 23:22:52 +03:00
git Introduce an outline panel (#12637) 2024-06-12 23:22:52 +03:00
git_hosting_providers Extract http from util (#11680) 2024-05-10 15:50:20 -06:00
go_to_line Refine inline transformation UX (#12939) 2024-06-13 08:35:22 +02:00
google_ai Extract http from util (#11680) 2024-05-10 15:50:20 -06:00
gpui vim: Display pending keys in Vim mode indicator (#13195) 2024-06-18 13:30:18 +02:00
gpui_macros gpui_macros: Disable doctests (#13015) 2024-06-13 18:45:28 -04:00
headless Make reconnects smoother for dev servers (#12223) 2024-05-23 21:11:14 -06:00
html_to_markdown Move rustdoc-related code to rustdoc crate (#12945) 2024-06-12 15:53:05 -04:00
http zed_extension_api: Add github_release_by_tag_name (#12172) 2024-05-22 20:40:31 -04:00
image_viewer Make tests less noisy (#12463) 2024-05-29 18:06:45 -07:00
inline_completion_button Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
install_cli Fix flickering (#9012) 2024-03-11 10:45:57 +01:00
journal Add the ability for extensions to provide language settings (#10296) 2024-04-08 19:17:12 -04:00
language Remove copilot and show_copilot_suggestions setting aliases (#13167) 2024-06-17 15:51:37 -04:00
language_selector Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
language_tools ui: Use PopoverMenu::new for constructing PopoverMenus (#13178) 2024-06-17 18:14:37 -04:00
languages lsp: Revert URL type change (#13193) 2024-06-18 12:39:56 +02:00
live_kit_client extension_cli: Allow building without dynamically linking WebRTC (#13080) 2024-06-14 20:13:31 -04:00
live_kit_server Vendor LiveKit protocol (#11672) 2024-05-10 14:18:40 -04:00
lsp lsp: Revert URL type change (#13193) 2024-06-18 12:39:56 +02:00
markdown Pull app / OS info out of GPUI, add Linux information, make fallible window initialization (#12869) 2024-06-11 11:43:12 -07:00
markdown_preview Refine inline transformation UX (#12939) 2024-06-13 08:35:22 +02:00
media Revert "Revert "Revert dependency updates in #9836 (#10089)"" 2024-04-02 13:12:38 -06:00
menu Fix the linux keymap (#9829) 2024-03-26 16:10:09 -07:00
multi_buffer Bring Jupyter to Zed Editing (#12062) 2024-06-17 10:02:31 -07:00
node_runtime Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
notifications Fix mention notifications are not updated after message change and not removed after a message is deleted (#9847) 2024-04-02 20:40:00 -06:00
ollama Allow Ollama Model KeepAlive to be None, defaulting to indefinite (#13059) 2024-06-14 10:33:28 -07:00
open_ai Improve model selection in the assistant (#12472) 2024-05-30 12:36:07 +02:00
outline Refine inline transformation UX (#12939) 2024-06-13 08:35:22 +02:00
outline_panel Properly propagate git statuses in the outline panel (#13150) 2024-06-17 19:06:35 +03:00
paths Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
picker Reveal the selected item when cycling a picker's selection (#12950) 2024-06-12 17:40:53 -07:00
prettier Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
project lsp: Revert URL type change (#13193) 2024-06-18 12:39:56 +02:00
project_panel project panel: Improve performance in large projects (#13202) 2024-06-18 15:09:52 +02:00
project_symbols lsp: Revert URL type change (#13193) 2024-06-18 12:39:56 +02:00
proto Allow canceling in-progress language server work (e.g. cargo check) (#13173) 2024-06-17 17:58:47 -07:00
quick_action_bar Do not show tooltip for editor controls if clicked (#10679) 2024-04-17 13:20:47 +02:00
recent_projects Reconnect button for remote projects (#12669) 2024-06-10 18:09:47 -06:00
refineable Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
release_channel Pull app / OS info out of GPUI, add Linux information, make fallible window initialization (#12869) 2024-06-11 11:43:12 -07:00
repl repl: Add missing LICENSE file (#13161) 2024-06-17 14:13:12 -04:00
rich_text New revision of the Assistant Panel (#10870) 2024-04-23 16:23:26 -07:00
rope Indent guides (#11503) 2024-05-23 15:50:59 +02:00
rpc Extract a proto crate out of rpc (#12852) 2024-06-10 12:49:53 -06:00
rustdoc Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
search Refine inline transformation UX (#12939) 2024-06-13 08:35:22 +02:00
semantic_index Refactor: Make it possible to share a remote worktree (#12775) 2024-06-07 12:53:01 -07:00
semantic_version Extract SemanticVersion into its own crate (#9956) 2024-03-29 12:11:57 -04:00
settings Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
snippet html: Add support for autoclosing of tags (#11761) 2024-05-20 17:00:27 +02:00
sqlez Rename RemoteProject -> DevServerProject (#11301) 2024-05-02 11:00:08 -06:00
sqlez_macros Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00
story Introduce a new markdown crate (#11556) 2024-05-09 11:03:33 +02:00
storybook Enable linux tests (#12493) 2024-06-13 16:38:53 -07:00
sum_tree Introduce Editor::insert_flaps and Editor::remove_flaps (#12096) 2024-05-21 20:23:37 +02:00
supermaven Reduce spamming of inline completion discard events (#11999) 2024-05-17 16:37:17 -04:00
supermaven_api Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
tab_switcher Introduce recent files ambient context for assistant (#11791) 2024-05-14 13:48:36 +02:00
task task: Add re-run task button to terminal title (#12379) 2024-05-29 11:40:43 +02:00
tasks_ui task: Rebind UseSelectedQuery in modal to F2 (#12601) 2024-06-03 12:52:44 +02:00
telemetry_events Pull app / OS info out of GPUI, add Linux information, make fallible window initialization (#12869) 2024-06-11 11:43:12 -07:00
terminal Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
terminal_view Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
text Refine inline transformation UX (#12939) 2024-06-13 08:35:22 +02:00
theme theme: Warn when deprecated scrollbar_thumb.background style is used (#13081) 2024-06-15 22:14:39 -04:00
theme_importer Hoist indexmap to workspace level (#12901) 2024-06-11 15:31:55 -04:00
theme_selector Use UpdateGlobal accessors in more places (#11925) 2024-05-16 13:30:04 -04:00
time_format Inline git blame (#10398) 2024-04-15 14:21:52 +02:00
ui Preserve sections generated by slash commands when reloading a context (#13199) 2024-06-18 14:49:53 +02:00
ui_text_field Allow UI font weight to be assigned in settings (#12333) 2024-05-26 23:06:58 -06:00
util Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
vcs_menu vcs_menu: Fix header taking up too much space (#12646) 2024-06-04 19:13:21 +02:00
vim vim: Display pending keys in Vim mode indicator (#13195) 2024-06-18 13:30:18 +02:00
welcome Pull app / OS info out of GPUI, add Linux information, make fallible window initialization (#12869) 2024-06-11 11:43:12 -07:00
workspace Don't hide inline assist when editor loses focus (#12990) 2024-06-17 09:43:52 +02:00
worktree Remove stray eprintln 2024-06-14 16:11:24 -07:00
zed Extract paths out of util (#13182) 2024-06-17 19:27:42 -04:00
zed_actions Move Clippy configuration to the workspace level (#8891) 2024-03-05 12:01:17 -05:00