diff options
| author | cAttte <26514199+cAttte@users.noreply.github.com> | 2025-06-12 11:09:37 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-12 14:09:37 +0000 |
| commit | f9897479d2a8a865c4033bc44ec9a85fb5000795 (patch) | |
| tree | 498f159589cb1cf14c171a31750189023cad8327 /crates/typst-library/src/foundations | |
| parent | bd41fb9427f3965b91ac467fe12045bbb793b5e9 (diff) | |
Unify `EvalMode` and `LexMode` into `SyntaxMode` (#6432)
Diffstat (limited to 'crates/typst-library/src/foundations')
| -rw-r--r-- | crates/typst-library/src/foundations/cast.rs | 17 | ||||
| -rw-r--r-- | crates/typst-library/src/foundations/mod.rs | 6 |
2 files changed, 19 insertions, 4 deletions
diff --git a/crates/typst-library/src/foundations/cast.rs b/crates/typst-library/src/foundations/cast.rs index 73645491..5e0ba688 100644 --- a/crates/typst-library/src/foundations/cast.rs +++ b/crates/typst-library/src/foundations/cast.rs @@ -9,7 +9,7 @@ use std::ops::Add; use ecow::eco_format; use smallvec::SmallVec; -use typst_syntax::{Span, Spanned}; +use typst_syntax::{Span, Spanned, SyntaxMode}; use unicode_math_class::MathClass; use crate::diag::{At, HintedStrResult, HintedString, SourceResult, StrResult}; @@ -460,6 +460,21 @@ impl FromValue for Never { } cast! { + SyntaxMode, + self => IntoValue::into_value(match self { + SyntaxMode::Markup => "markup", + SyntaxMode::Math => "math", + SyntaxMode::Code => "code", + }), + /// Evaluate as markup, as in a Typst file. + "markup" => SyntaxMode::Markup, + /// Evaluate as math, as in an equation. + "math" => SyntaxMode::Math, + /// Evaluate as code, as after a hash. + "code" => SyntaxMode::Code, +} + +cast! { MathClass, self => IntoValue::into_value(match self { MathClass::Normal => "normal", diff --git a/crates/typst-library/src/foundations/mod.rs b/crates/typst-library/src/foundations/mod.rs index d42be15b..6840f855 100644 --- a/crates/typst-library/src/foundations/mod.rs +++ b/crates/typst-library/src/foundations/mod.rs @@ -69,6 +69,7 @@ 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)] @@ -83,7 +84,6 @@ use typst_syntax::Spanned; use crate::diag::{bail, SourceResult, StrResult}; use crate::engine::Engine; -use crate::routines::EvalMode; use crate::{Feature, Features}; /// Hook up all `foundations` definitions. @@ -273,8 +273,8 @@ pub fn eval( /// #eval("1_2^3", mode: "math") /// ``` #[named] - #[default(EvalMode::Code)] - mode: EvalMode, + #[default(SyntaxMode::Code)] + mode: SyntaxMode, /// A scope of definitions that are made available. /// /// ```example |
