tensorlogic_cli/
output.rs

1//! Colored output formatting for TensorLogic CLI
2
3use colored::*;
4use tensorlogic_ir::EinsumGraph;
5
6pub fn print_success(message: &str) {
7    println!("{} {}", "✓".green().bold(), message);
8}
9
10pub fn print_error(message: &str) {
11    eprintln!("{} {}", "✗".red().bold(), message);
12}
13
14pub fn print_info(message: &str) {
15    println!("{} {}", "ℹ".blue().bold(), message);
16}
17
18pub fn print_warning(message: &str) {
19    println!("{} {}", "⚠".yellow().bold(), message);
20}
21
22pub fn print_header(title: &str) {
23    println!("\n{}", title.cyan().bold());
24    println!("{}", "=".repeat(title.len()).cyan());
25}
26
27pub fn format_graph_stats(graph: &EinsumGraph) -> String {
28    format!(
29        "Graph: {} tensors, {} nodes, {} inputs, {} outputs",
30        graph.tensors.len().to_string().green(),
31        graph.nodes.len().to_string().cyan(),
32        graph.inputs.len().to_string().yellow(),
33        graph.outputs.len().to_string().magenta()
34    )
35}
36
37pub fn print_compilation_success(graph: &EinsumGraph) {
38    print_success("Compilation successful");
39    println!("  {}", format_graph_stats(graph));
40}
41
42pub fn enable_colors(enabled: bool) {
43    colored::control::set_override(enabled);
44}