markdown_preview.rs

 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}