mirror of
https://github.com/zed-industries/zed.git
synced 2024-11-07 20:39:04 +03:00
chore: add theme types docs
This commit is contained in:
parent
10a1df3faa
commit
cb8762d855
29
docs/theme/generating-theme-types.md
vendored
Normal file
29
docs/theme/generating-theme-types.md
vendored
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
[⬅ Back to Index](../index.md)
|
||||||
|
|
||||||
|
# Generating Theme Types
|
||||||
|
|
||||||
|
|
||||||
|
## How to generate theme types:
|
||||||
|
|
||||||
|
Run a script
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./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`.
|
Loading…
Reference in New Issue
Block a user