texform 0.1.0

LaTeX formula parser, editor, and normalizer — the public TeXForm facade
Documentation
use texform::{AllowedMode, CommandItem, CommandKind, ParseConfig, Parser};

#[test]
fn parser_empty_knowledge_preserves_probing_isolation() {
    let parser = Parser::builder()
        .empty_knowledge()
        .item(CommandItem::new(
            "probe",
            CommandKind::Prefix,
            AllowedMode::Math,
            "m",
        ))
        .build()
        .expect("parser should build");

    let known = parser.parse(r"\probe{x}");
    assert!(known.diagnostics().is_empty());

    let unknown = parser.parse_with(r"\frac{x}{y}", &ParseConfig::STRICT);
    assert!(
        unknown
            .diagnostics()
            .iter()
            .any(|diagnostic| diagnostic.message.contains("frac"))
    );
}