use modality_lang::{parse_all_models_lalrpop, generate_mermaid_diagram, generate_mermaid_diagrams, generate_mermaid_diagram_with_styling};
fn main() -> Result<(), String> {
let file_path = "examples/models/SimpleExamples.modality";
println!("=== Mermaid Diagram Generation Example ===\n");
let models = parse_all_models_lalrpop(file_path)?;
println!("✓ Successfully parsed {} models\n", models.len());
for (i, model) in models.iter().enumerate() {
println!("--- Model {}: {} ---", i + 1, model.name);
println!("Number of graphs: {}", model.graphs.len());
let diagram = generate_mermaid_diagram(model);
println!("\nBasic Mermaid Diagram:");
println!("```mermaid");
println!("{}", diagram);
println!("```");
let styled_diagram = generate_mermaid_diagram_with_styling(model);
println!("\nStyled Mermaid Diagram:");
println!("```mermaid");
println!("{}", styled_diagram);
println!("```");
println!("\n{}", "=".repeat(50));
println!();
}
println!("--- Combined Diagram for All Models ---");
let combined_diagram = generate_mermaid_diagrams(&models);
println!("```mermaid");
println!("{}", combined_diagram);
println!("```");
println!("\n=== Mermaid Diagram Generation Complete ===");
Ok(())
}