use super::*;
pub struct PrintOptions {
pub max_width: u32,
pub indent_width: u8,
pub use_tabs: bool,
pub newline_kind: &'static str,
}
pub fn print<TString, TInfo, TCondition>(
print_items: PrintItems<TString, TInfo, TCondition>,
options: PrintOptions
) -> String where TString : StringTrait, TInfo : InfoTrait, TCondition : ConditionTrait<TString, TInfo, TCondition> {
let write_items = get_write_items(&print_items, GetWriteItemsOptions {
indent_width: options.indent_width,
max_width: options.max_width,
is_testing: false, });
print_write_items(write_items, PrintWriteItemsOptions {
use_tabs: options.use_tabs,
newline_kind: options.newline_kind,
indent_width: options.indent_width,
})
}