ralph_workflow/json_parser/printer.rs
1//! Printer abstraction for testable output.
2//!
3//! This module provides a trait-based abstraction for output destinations,
4//! allowing parsers to write to stdout, stderr, or test collectors without
5//! changing their core logic.
6
7use std::cell::RefCell;
8use std::io::{self, IsTerminal};
9use std::rc::Rc;
10
11// Trait and standard printers
12include!("printer/traits.rs");
13
14// Test printer (test-utils only)
15include!("printer/io_test_printer.rs");
16
17// Streaming test printer (test-utils only)
18include!("printer/streaming_printer.rs");
19
20// Virtual terminal (test-utils only)
21include!("printer/virtual_terminal.rs");
22
23// Tests
24include!("printer/io_tests.rs");