lib.rs

 1pub mod assets;
 2pub mod editor;
 3pub mod file_finder;
 4pub mod fs;
 5mod fuzzy;
 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;
14pub mod theme;
15pub mod theme_selector;
16mod time;
17mod util;
18pub mod workspace;
19pub mod worktree;
20
21pub use settings::Settings;
22
23use parking_lot::Mutex;
24use postage::watch;
25use std::sync::Arc;
26use zrpc::ForegroundRouter;
27
28pub struct AppState {
29    pub settings_tx: Arc<Mutex<watch::Sender<Settings>>>,
30    pub settings: watch::Receiver<Settings>,
31    pub languages: Arc<language::LanguageRegistry>,
32    pub themes: Arc<settings::ThemeRegistry>,
33    pub rpc_router: Arc<ForegroundRouter>,
34    pub rpc: rpc::Client,
35    pub fs: Arc<dyn fs::Fs>,
36}
37
38pub fn init(cx: &mut gpui::MutableAppContext) {
39    cx.add_global_action("app:quit", quit);
40}
41
42fn quit(_: &(), cx: &mut gpui::MutableAppContext) {
43    cx.platform().quit();
44}