tensorlogic-cli 0.1.0-alpha.2

TensorLogic command-line interface and library for compiling logical expressions to tensor graphs
Documentation
//! Colored output formatting for TensorLogic CLI

use colored::*;
use tensorlogic_ir::EinsumGraph;

pub fn print_success(message: &str) {
    println!("{} {}", "".green().bold(), message);
}

pub fn print_error(message: &str) {
    eprintln!("{} {}", "".red().bold(), message);
}

pub fn print_info(message: &str) {
    println!("{} {}", "".blue().bold(), message);
}

pub fn print_warning(message: &str) {
    println!("{} {}", "".yellow().bold(), message);
}

pub fn print_header(title: &str) {
    println!("\n{}", title.cyan().bold());
    println!("{}", "=".repeat(title.len()).cyan());
}

pub fn format_graph_stats(graph: &EinsumGraph) -> String {
    format!(
        "Graph: {} tensors, {} nodes, {} inputs, {} outputs",
        graph.tensors.len().to_string().green(),
        graph.nodes.len().to_string().cyan(),
        graph.inputs.len().to_string().yellow(),
        graph.outputs.len().to_string().magenta()
    )
}

pub fn print_compilation_success(graph: &EinsumGraph) {
    print_success("Compilation successful");
    println!("  {}", format_graph_stats(graph));
}

pub fn enable_colors(enabled: bool) {
    colored::control::set_override(enabled);
}