diff --git a/crates/typst-cli/src/args.rs b/crates/typst-cli/src/args.rs index 9437f848c..bc3d12251 100644 --- a/crates/typst-cli/src/args.rs +++ b/crates/typst-cli/src/args.rs @@ -283,7 +283,9 @@ pub struct SharedArgs { /// An in-development feature that may be changed or removed at any time. #[derive(Debug, Copy, Clone, Eq, PartialEq, ValueEnum)] -pub enum Feature {} +pub enum Feature { + Html, +} /// Arguments related to where packages are stored in the system. #[derive(Debug, Clone, Args)] diff --git a/crates/typst-cli/src/world.rs b/crates/typst-cli/src/world.rs index a04de2c05..6e6de0dcb 100644 --- a/crates/typst-cli/src/world.rs +++ b/crates/typst-cli/src/world.rs @@ -17,7 +17,7 @@ use typst_kit::fonts::{FontSlot, Fonts}; use typst_kit::package::PackageStorage; use typst_timing::timed; -use crate::args::{Input, SharedArgs}; +use crate::args::{Feature, Input, SharedArgs}; use crate::compile::ExportCache; use crate::download::PrintDownload; use crate::package; @@ -112,8 +112,13 @@ impl SystemWorld { .map(|(k, v)| (k.as_str().into(), v.as_str().into_value())) .collect(); - let features = - command.feature.iter().map(|&feature| match feature {}).collect(); + let features = command + .feature + .iter() + .map(|&feature| match feature { + Feature::Html => typst::Feature::Html, + }) + .collect(); Library::builder().with_inputs(inputs).with_features(features).build() }; diff --git a/crates/typst-library/src/lib.rs b/crates/typst-library/src/lib.rs index bd135cdbd..5aec09165 100644 --- a/crates/typst-library/src/lib.rs +++ b/crates/typst-library/src/lib.rs @@ -231,7 +231,9 @@ impl FromIterator for Features { /// An in-development feature that should be enabled. #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)] #[non_exhaustive] -pub enum Feature {} +pub enum Feature { + Html, +} /// Construct the module with global definitions. fn global(math: Module, inputs: Dict) -> Module {