← All extensions

Tron Legacy

v1.2.2 · by Bret Comnes · added 3 November 2026

A port of the Tron Legacy theme for Zed

Themes

How to install

With Forge Super installed, the button above opens the app on this extension, where you press Install. Nothing is installed until you do.

You can also open the Extensions panel in the app and search for Tron Legacy. The extension's id is tron-legacy.

Don't have Forge Super yet? Download it here.

README

From the extension's repository, written by its authors and not by Mentenaz. See the source.

Tron Legacy Theme for Zed

A port of the old Textmate theme "Tron Legacy" to Zed, with a new light mode and frosted variants.

Tron Legacy Preview Tron Legacy Frosted Preview Tron Legacy Light Preview Tron Legacy Light Frosted Preview

Features

  • High contrast syntax highlighting optimized for readability
  • Carefully selected colors that maintain WCAG contrast ratios
  • Broad Zed UI and syntax coverage, checked against the official themes
  • 🌝 Light and Dark variants 🌚
  • 🥶 Frosted transparent variants ❄️

Developing

To test and generate the theme run:

make all

There are two color schemes: dark/colors.css and light/colors.css. Both dark and light colors include frosted color variants. The colors are defined in colors.css files as css variables so that zed can display in-line color previews.

css-previews

The colors are loaded into palette.go and assigned to a semantic TronThemePalette mapping. These semantic mappings are then fed into generator.go and the final output ends up in themes/tron-legacy.json.

Releasing

The project and its pinned release tool require Go 1.26 or newer. Start from a clean working tree on the release branch with all intended changes committed. Install and authenticate the GitHub CLI (gh auth login) to create the GitHub Release.

make version bump=patch
make test
make publish

make version updates version.go and extension.toml, commits the bump, and creates the local version tag. make publish runs goversion publish -no-proxy: it pushes the branch and tag to origin and creates or reuses a GitHub Release, without publishing the module to the Go proxy. Publishing requires a clean working tree with the release tag at HEAD. To preview publishing without changing remote state:

go tool github.com/bcomnes/goversion/v2 publish -no-proxy -dry

To deliver the release to Zed users, separately submit a PR to zed-industries/extensions, updating Tron's submodule commit and registry version to match the release.

Upstream reconciliation

Last audited on 2026-10-21, against Zed commit 59dd60d4dd3bd85cbdcf00328e689fa519b55f78. The assumed previous reconciliation was Tron commit 3fd2b39d7a0769d5842e23d182f9a4a88bc6e634 (2026-08-10). This records the local checkout audited, not a claim about the latest remote release.

The audit covered One, Gruvbox, and Ayu; Zed's serialized theme properties and runtime fallbacks; all 23 built-in language highlight queries; and default and language-specific semantic-token rules. There were no official-theme JSON changes since the assumed baseline. The repaired gaps predated that baseline:

  • Moved accents into style.accents, where Zed actually reads them.
  • Removed ignored foreground and editor.selection.background properties. Existing editor selections remain controlled by style.players.
  • Added Tron-colored drop-target borders and translucent word-diff highlights.
  • Covered every official syntax selector and added semantic parameter/modifier/built-in constant styles, Rust lifetimes, C++ concepts/modules, and Git commit headings/links/deltas.
  • Added the semantic string.regexp spelling alongside Tree-sitter's string.regex.

Some supported properties intentionally rely on Zed's fallbacks:

  • CodeLens uses text.muted; its dedicated property was added upstream on 2026-09-11.
  • Diff-hunk backgrounds/borders derive from Tron's added/deleted colors and appearance.
  • UI text selections use the local player's selection color. The historical explicit element.selection_background override remains disabled pending visual retesting.
  • Vim/Helix mode badges retain Zed's default treatment; yank and jump-label colors inherit the theme's document highlight and error colors.
  • Active search matches explicitly use the existing search highlight color.
  • Frosted variants retain blurred; the newer Windows Mica appearances are not enabled.

Tree-sitter selectors inherit dotted prefixes, while semantic-token styles use exact names. Internal helper captures are not styled. Markdown's strikethrough.markup cannot express actual strikethrough through the current theme JSON style fields. Third-party language extensions may introduce additional selectors; this audit does not guarantee coverage of every extension. Rendering and contrast still need visual review, especially for translucent variants.

To check against a local Zed checkout from this repository's root:

make generate
ZED_SOURCE_DIR=/absolute/path/to/zed go test -count=1 ./...

The optional upstream test checks the union of official theme style properties and syntax selectors across all four Tron variants. Ordinary tests also check the repaired properties and that the checked-in JSON matches the generator. The schema-validation test downloads the published schema; the upstream comparison itself is local-only. The official-theme comparison does not detect every new schema field or language capture: for future reconciliations, also review changes since the recorded Zed commit in crates/settings_content/src/theme.rs, crates/theme_settings/src/schema.rs, crates/theme/src, crates/grammars/src, assets/settings/default_semantic_token_rules.json, and crates/syntax_theme/src before updating this baseline.

See also

Acknowledgments

Thank you Dayle Rees and Tim Heckman, the original creators of this fantastic theme. Thank you ColorSublime for helping put so many fantastic color schemes out into the world.

License

MIT License - See LICENSE file for details