1use zrpc::ForegroundRouter;
2
3pub mod assets;
4pub mod editor;
5pub mod file_finder;
6pub mod language;
7pub mod menus;
8mod operation_queue;
9pub mod rpc;
10pub mod settings;
11mod sum_tree;
12#[cfg(any(test, feature = "test-support"))]
13pub mod test;
14mod time;
15mod util;
16pub mod workspace;
17pub mod worktree;
18
19pub struct AppState {
20 pub settings: postage::watch::Receiver<settings::Settings>,
21 pub languages: std::sync::Arc<language::LanguageRegistry>,
22 pub rpc_router: std::sync::Arc<ForegroundRouter>,
23 pub rpc: rpc::Client,
24 pub fs: std::sync::Arc<dyn worktree::Fs>,
25}
26
27pub fn init(cx: &mut gpui::MutableAppContext) {
28 cx.add_global_action("app:quit", quit);
29}
30
31fn quit(_: &(), cx: &mut gpui::MutableAppContext) {
32 cx.platform().quit();
33}