Crate tcss_core

Crate tcss_core 

Source
Expand description

TCSS Core Library

This library provides the core functionality for TCSS (Thematic CSS), a CSS preprocessor that adds functions, variables, and expressions to CSS.

§Example

use tcss_core::{Lexer, Parser};

let source = "@fn spacing(x):\n    return x * 16px";
let mut lexer = Lexer::new(source);
let tokens = lexer.tokenize().unwrap();
let mut parser = Parser::new(tokens);
let ast = parser.parse().unwrap();

Re-exports§

pub use token::Token;
pub use token::TokenType;
pub use lexer::Lexer;
pub use ast::ASTNode;
pub use ast::BinaryOp;
pub use ast::Expr;
pub use ast::Program;
pub use ast::Property;
pub use ast::Statement;
pub use parser::Parser;
pub use context::Context;
pub use context::Value;
pub use executor::Executor;
pub use generator::Generator;
pub use generator::GeneratorOptions;
pub use error::TcssError;
pub use error::TcssResult;
pub use error::LexerError;
pub use error::ParserError;
pub use error::ExecutionError;
pub use error::GeneratorError;
pub use error::SourceLocation;
pub use error::ErrorFormatter;
pub use resolver::Resolver;
pub use resolver::ResolvedImport;
pub use resolver::ImportType;
pub use import::ImportProcessor;

Modules§

ast
Abstract Syntax Tree (AST) definitions for TCSS
builtins
Built-in functions library for TCSS
context
Execution context for TCSS
error
Error types for TCSS compiler
executor
Expression executor for TCSS
generator
CSS Generator for TCSS
import
Import system for TCSS
lexer
parser
Parser for TCSS - converts tokens into an Abstract Syntax Tree
resolver
Path and URL resolution for TCSS imports
token