cmark_writer/traits/
processing.rs1use crate::error::WriteResult;
4
5pub trait NodeProcessor {
7 fn can_process(&self, node: &crate::ast::Node) -> bool;
9
10 fn process_commonmark(
12 &self,
13 writer: &mut crate::writer::CommonMarkWriter,
14 node: &crate::ast::Node,
15 ) -> WriteResult<()>;
16
17 fn process_html(
19 &self,
20 writer: &mut crate::writer::HtmlWriter,
21 node: &crate::ast::Node,
22 ) -> WriteResult<()>;
23
24 fn priority(&self) -> u32 {
26 0
27 }
28}
29
30pub trait BlockNodeProcessor: NodeProcessor {
32 fn ensure_block_separation(&self, writer: &mut dyn super::core::Writer) -> WriteResult<()>;
34}
35
36pub trait InlineNodeProcessor: NodeProcessor {
38 fn validate_inline_content(&self, node: &crate::ast::Node) -> WriteResult<()>;
40}