pub trait OutputAdapter: Send + Sync {
// Required methods
fn print(&mut self, result: PrintResult) -> ValueWord;
fn clone_box(&self) -> Box<dyn OutputAdapter>;
// Provided method
fn print_content_html(&mut self, _html: String) { ... }
}Expand description
Trait for handling print() output
Different execution modes can provide different adapters:
- Scripts: StdoutAdapter (print and discard spans)
- REPL: ReplAdapter (print and preserve spans for reformatting)
- Tests: MockAdapter (capture output)
Required Methods§
Sourcefn print(&mut self, result: PrintResult) -> ValueWord
fn print(&mut self, result: PrintResult) -> ValueWord
Sourcefn clone_box(&self) -> Box<dyn OutputAdapter>
fn clone_box(&self) -> Box<dyn OutputAdapter>
Clone the adapter (for trait object cloning)
Provided Methods§
Sourcefn print_content_html(&mut self, _html: String)
fn print_content_html(&mut self, _html: String)
Handle Content HTML from printing a Content value. Default implementation does nothing (terminal adapters don’t need HTML).