zed/docs/theme/generating-theme-types.md
2023-07-17 17:54:37 +01:00

703 B

⬅ Back to Index

Generating Theme Types

How to generate theme types:

Run a script

./script/build-theme-types

Types are generated in styles/src/types/zed.ts

How it works:

  1. Rust types

    The crates/theme contains theme types. Crate schemars used to generate a JSON schema from the theme structs. Every struct that represent theme type has a #[derive(JsonSchema)] attribute.

    Task lotaked at crates/xtask/src/main.rs generates a JSON schema from the theme structs.

  2. TypeScript types

    Script npm run build-types from styles package generates TypeScript types from the JSON schema and saves them to styles/src/types/zed.ts.