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