tcss_core/
lib.rs

1//! TCSS Core Library
2//!
3//! This library provides the core functionality for TCSS (Thematic CSS),
4//! a CSS preprocessor that adds functions, variables, and expressions to CSS.
5//!
6//! # Example
7//!
8//! ```rust
9//! use tcss_core::{Lexer, Parser};
10//!
11//! let source = "@fn spacing(x):\n    return x * 16px";
12//! let mut lexer = Lexer::new(source);
13//! let tokens = lexer.tokenize().unwrap();
14//! let mut parser = Parser::new(tokens);
15//! let ast = parser.parse().unwrap();
16//! ```
17
18pub mod token;
19pub mod lexer;
20pub mod ast;
21pub mod parser;
22pub mod context;
23pub mod executor;
24pub mod generator;
25pub mod error;
26pub mod builtins;
27pub mod resolver;
28pub mod import;
29
30// Re-export commonly used types
31pub use token::{Token, TokenType};
32pub use lexer::Lexer;
33pub use ast::{ASTNode, BinaryOp, Expr, Program, Property, Statement};
34pub use parser::Parser;
35pub use context::{Context, Value};
36pub use executor::Executor;
37pub use generator::{Generator, GeneratorOptions};
38pub use error::{
39    TcssError, TcssResult, LexerError, ParserError, ExecutionError,
40    GeneratorError, SourceLocation, ErrorFormatter
41};
42pub use resolver::{Resolver, ResolvedImport, ImportType};
43pub use import::ImportProcessor;
44