textfsm-rust 0.3.1

Template-based state machine for parsing semi-formatted text based on Google's TextFSM
Documentation
//! Integration tests for compile-time template validation macros.

use textfsm_rust::{validate_template, validate_templates, Template};

// Validate individual template
validate_template!("templates/simple.textfsm");

// Validate all templates in directory
validate_templates!("templates/");

#[test]
fn test_validated_template_parses_correctly() {
    let template_str = include_str!("../templates/simple.textfsm");
    let template = Template::parse_str(template_str).unwrap();

    let mut parser = template.parser();
    let input = "Name: Alice, Age: 30\nName: Bob, Age: 25\n";
    let results = parser.parse_text(input).unwrap();

    assert_eq!(results.len(), 2);
}