pub trait Expander {
// Required methods
fn push(
&mut self,
line: Line,
info: MatchInfo,
out: &mut dyn FnMut(EmitOwned),
);
fn drain(&mut self, out: &mut dyn FnMut(EmitOwned));
}Expand description
An expander consumes (Line, MatchInfo) pairs and produces Emits.
The expander owns the line and match info until it emits them, because it may need to buffer lines as context.