# Extract \`syntax_theme\` crate \(\#52798\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/121e2bbe84b8b83d5f4352bad98832b5efdbcf44)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: 121e2bbe84b8b83d5f4352bad98832b5efdbcf44

Requested commit: 121e2bbe84b8b83d5f4352bad98832b5efdbcf44

Commit: 121e2bbe84b8b83d5f4352bad98832b5efdbcf44

Tree: 6d7d03da1a2f8abb2e3280f56d292ebe8ba8abc8

Author: Nathan Sobo

Committer: GitHub

## Message

```
Extract `syntax_theme` crate (#52798)

Extract `SyntaxTheme` into its own lightweight crate so that downstream
consumers can use syntax highlighting colors without pulling in the full
`theme` crate and its transitive dependencies.

## Changes

**Commit 1 — Extract SyntaxTheme into its own crate**

Move `SyntaxTheme`, `SyntaxThemeSettings`, `HighlightStyle`, and
supporting types from `theme/src/styles/syntax.rs` into a new
`syntax_theme` crate that depends only on `gpui`. The `theme` crate
re-exports everything for backward compatibility — no call-site changes
needed.

**Commit 2 — Add `bundled-themes` feature with One Dark**

Add an optional `bundled-themes` feature that bundles `one_dark()`, a
`SyntaxTheme` loaded from the existing One Dark JSON theme file. This
lets consumers get a usable syntax theme without depending on the full
theme machinery.

Release Notes:

- N/A
```

## Parents

- [8ef64d99d8fbc86801c6d33cb20e2fb367b654cb](https://git.cafe/gitcafe/zed/commit/8ef64d99d8fbc86801c6d33cb20e2fb367b654cb?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/121e2bbe84b8b83d5f4352bad98832b5efdbcf44?format=markdown)
