Skip to main content

texform/
lib.rs

1//! Public TeXForm facade.
2//!
3//! This crate exposes the stable user-facing API: parse-only [`Parser`],
4//! normalization [`TransformEngine`], AST serialization, argspec validation, and
5//! analysis helpers.
6
7pub mod analysis;
8pub mod argspec;
9#[doc(hidden)]
10pub mod bindings;
11pub mod config;
12pub mod document;
13pub mod error;
14pub mod knowledge;
15pub mod parse_result;
16pub mod parser;
17pub mod serialize;
18pub mod transform_engine;
19
20pub use argspec::{
21    ArgSpecFormInfo, ArgSpecKindInfo, DelimiterTokenInfo, DelimiterTokenPairInfo,
22    ParsedArgSpecSlot, RuntimeContentModeInfo, ValidateArgspecResult, validate_argspec,
23};
24pub use config::{NormalizeConfig, Profile, RuleKey, TransformConfig, rule_key_from_name};
25pub use document::{
26    ArgRef, ArgValue, DelimiterRef, DelimiterValue, Document, DocumentId, EditError,
27    FromSyntaxError, GroupKindRef, NodeId, NodeKind, NodeRef, NodeSpanEntry,
28};
29pub use error::{Error, NormalizeError, TransformBuildError, TransformError};
30pub use knowledge::{PackageInfo, list_packages};
31pub use parse_result::{ParseError, ParseResult};
32pub use parser::{Parser, ParserBuildError, ParserBuilder};
33pub use serialize::{SerializeError, SerializeOptions};
34pub use transform_engine::{NormalizeResult, TransformEngine, TransformEngineBuilder};
35
36pub use texform_core::parse::{
37    ActiveCharacterRecord, ActiveCommandRecord, ActiveDelimiterRecord, ActiveEnvironmentRecord,
38    AllowedMode, CommandItem, CommandKind, ContentMode, ContextItem, DelimiterControlItem,
39    EnvironmentItem, PackageLoadError, ParseConfig, ParseDiagnostic, ParseDiagnosticContext,
40    ParseDiagnosticKind, Span,
41};
42pub use texform_interface::syntax_node::{
43    Argument, ArgumentKind, ArgumentSlot, ArgumentValue, Delimiter, GroupKind, SyntaxNode,
44};
45pub use texform_transform::{
46    Attr, AttrValue, AttributeFormCounts, AttributeSet, AttributeStat, FinalizeAstConfig,
47    FinalizeAstReport, FinalizeAstStepReport, FinalizeAstStepReports, FlattenGroupsActionCounts,
48    FlattenGroupsConfig, FlattenGroupsGuardCounts, FlattenGroupsReport, LowerAttributesConfig,
49    LowerAttributesReport, MathFontValue, NormalizationLevelSet, RewriteReport, RewriteRuleStat,
50    SizeValue, StyleValue, TextFamily, TextSeries, TextShape, TransformReport,
51};