markdown_preview.rs

 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}