//! Foundational types and functions. pub mod calc; pub mod ops; pub mod repr; pub mod sys; mod args; mod array; mod auto; mod bool; mod bytes; mod cast; mod content; mod context; mod datetime; mod decimal; mod dict; mod duration; mod element; mod fields; mod float; mod func; mod int; mod label; mod module; mod none; #[path = "plugin.rs"] mod plugin_; mod scope; mod selector; mod str; mod styles; mod symbol; #[path = "target.rs"] mod target_; mod ty; mod value; mod version; pub use self::args::*; pub use self::array::*; pub use self::auto::*; pub use self::bytes::*; pub use self::cast::*; pub use self::content::*; pub use self::context::*; pub use self::datetime::*; pub use self::decimal::*; pub use self::dict::*; pub use self::duration::*; pub use self::element::*; pub use self::fields::*; pub use self::float::*; pub use self::func::*; pub use self::int::*; pub use self::label::*; pub use self::module::*; pub use self::none::*; pub use self::plugin_::*; pub use self::repr::Repr; pub use self::scope::*; pub use self::selector::*; pub use self::str::*; pub use self::styles::*; pub use self::symbol::*; pub use self::target_::*; pub use self::ty::*; pub use self::value::*; pub use self::version::*; pub use typst_macros::{scope, ty}; use typst_syntax::SyntaxMode; #[rustfmt::skip] #[doc(hidden)] pub use { ecow::{eco_format, eco_vec}, indexmap::IndexMap, }; use comemo::TrackedMut; use ecow::EcoString; use typst_syntax::Spanned; use crate::diag::{bail, SourceResult, StrResult}; use crate::engine::Engine; use crate::{Feature, Features}; /// Hook up all `foundations` definitions. pub(super) fn define(global: &mut Scope, inputs: Dict, features: &Features) { global.start_category(crate::Category::Foundations); global.define_type::(); global.define_type::(); global.define_type::(); global.define_type::(); global.define_type::