1use gpui::App;
4
5pub trait AppExt {
7 fn editor_layout(&self) -> crate::Layout;
9
10 fn editor_text_size(&self) -> crate::TextSize;
12
13 fn set_editor_layout(&mut self, layout: crate::Layout);
15
16 fn set_editor_text_size(&mut self, text_size: crate::TextSize);
18
19 fn set_image_store(&mut self, store: crate::ImageStore);
21
22 fn image_store(&self) -> crate::ImageStore;
24
25 fn set_paste_handler(&mut self, handler: crate::PasteHandler);
28
29 fn set_slash_items(&mut self, items: Vec<crate::SlashItem>);
32
33 fn set_mention_source(&mut self, source: crate::MentionSource);
36
37 fn adjust_editor_text_size(&mut self, points: f32);
39
40 fn reset_editor_text_size(&mut self);
42
43 fn editor_text_size_adjustment(&self) -> f32;
45}
46
47impl AppExt for App {
48 fn editor_layout(&self) -> crate::Layout {
49 crate::layout::Layout::of(self)
50 }
51
52 fn editor_text_size(&self) -> crate::TextSize {
53 crate::text_size::TextSize::of(self)
54 }
55
56 fn set_editor_layout(&mut self, layout: crate::Layout) {
57 crate::layout::set_layout(self, layout)
58 }
59
60 fn set_editor_text_size(&mut self, text_size: crate::TextSize) {
61 crate::text_size::set_text_size(self, text_size)
62 }
63
64 fn set_image_store(&mut self, store: crate::ImageStore) {
65 crate::editor::image::set_image_store(self, store)
66 }
67
68 fn image_store(&self) -> crate::ImageStore {
69 crate::editor::image::store(self)
70 }
71
72 fn set_paste_handler(&mut self, handler: crate::PasteHandler) {
73 self.set_global(crate::paste::Installed(handler));
74 }
75
76 fn set_mention_source(&mut self, source: crate::MentionSource) {
77 self.set_global(crate::mention::Installed(source));
78 }
79
80 fn set_slash_items(&mut self, items: Vec<crate::SlashItem>) {
81 self.set_global(crate::slash::Installed(items));
82 }
83
84 fn adjust_editor_text_size(&mut self, points: f32) {
85 crate::text_size::adjust_text_size(self, points)
86 }
87
88 fn reset_editor_text_size(&mut self) {
89 crate::text_size::reset_text_size(self)
90 }
91
92 fn editor_text_size_adjustment(&self) -> f32 {
93 crate::text_size::text_size_adjustment(self)
94 }
95}