1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
use crate::Node;
use crate::parser::core::rule_builder;
/// Each member of inline rule chain must implement this trait
pub trait InlineRule : 'static {
const MARKER: char;
fn check(state: &mut super::InlineState) -> Option<usize> {
Self::run(state).map(|(_node, len)| len)
}
fn run(state: &mut super::InlineState) -> Option<(Node, usize)>;
}
rule_builder!(InlineRule);