chore: Extract assets module out of zed crate. (#3957)

This essentially shaves off about 10% off of an incremental build after
project change and potentially more if you're changing stuff like
`welcome` that's very close to the `zed` crate in the dep graph. That's
because macro expansion takes place even in incremental builds it seems?
And zed (lib) + zed (bin) could take up to 4 seconds out of an
incremental build, which is a *lot* in a 10s build. In reality though it
shaves 1 second off of 5 seconds incremental 'welcome'/ 1s off of 10s
'project' builds.

Note that we had `assets` crate in the past (removed in #2575 /cc
@maxbrunsfeld), but this is a bit different, because `assets` is a
dependency of *just* zed and nothing else. We essentially cache macro
expansion results ourselves.

Release Notes:

- N/A
This commit is contained in:
Piotr Osiewicz 2024-01-08 22:49:14 +01:00 committed by GitHub
parent 80f204fabb
commit ae6d09b9b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 28 additions and 4 deletions

View file

@ -1,11 +1,9 @@
mod app_menus;
mod assets;
pub mod languages;
mod only_instance;
mod open_listener;
pub use app_menus::*;
pub use assets::*;
use assistant::AssistantPanel;
use breadcrumbs::Breadcrumbs;
use collections::VecDeque;
@ -18,6 +16,7 @@ pub use only_instance::*;
pub use open_listener::*;
use anyhow::{anyhow, Context as _};
use assets::Assets;
use futures::{channel::mpsc, select_biased, StreamExt};
use project_panel::ProjectPanel;
use quick_action_bar::QuickActionBar;