lib.rs

 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}