1use gpui::{App, actions};
2use workspace::Workspace;
3
4pub mod markdown_elements;
5pub mod markdown_parser;
6pub mod markdown_preview_view;
7pub mod markdown_renderer;
8
9actions!(
10 markdown,
11 [
12 /// Scrolls up by one page in the markdown preview.
13 MovePageUp,
14 /// Scrolls down by one page in the markdown preview.
15 MovePageDown,
16 /// Opens a markdown preview for the current file.
17 OpenPreview,
18 /// Opens a markdown preview in a split pane.
19 OpenPreviewToTheSide,
20 /// Opens a following markdown preview that syncs with the editor.
21 OpenFollowingPreview
22 ]
23);
24
25pub fn init(cx: &mut App) {
26 cx.observe_new(|workspace: &mut Workspace, window, cx| {
27 let Some(window) = window else {
28 return;
29 };
30 markdown_preview_view::MarkdownPreviewView::register(workspace, window, cx);
31 })
32 .detach();
33}