Files
zed/docs/src/extensions/themes.md
T
yenru0 74405573c9 gwen: Rebrand documentation to Gwen
Rewrite product prose and local path/command examples across the docs
to match the shipped application (gwen CLI, Gwen config paths, Gwen.app,
com.yrkaierx.Gwen). Upstream distribution channels, service URLs and
package identifiers stay factually intact.
2026-09-29 09:24:34 +09:00

2.1 KiB

title, description
title description
Themes Themes for Gwen extensions.

Themes

The themes directory in an extension should contain one or more theme files.

Each theme file should adhere to the JSON schema specified at https://zed.dev/schema/themes/v0.2.0.json.

See this blog post for additional background on creating themes.

Theme JSON Structure

The structure of a Gwen theme is defined in the Gwen Theme JSON Schema.

A Gwen theme consists of a Theme Family object including:

  • name: The name for the theme family
  • author: The name of the author of the theme family
  • themes: An array of Themes belonging to the theme family

The core components of a Theme object include:

  1. Theme Metadata:

    • name: The name of the theme
    • appearance: Either "light" or "dark"
  2. Style Properties under the style, such as:

    • background: The main background color
    • foreground: The main text color
    • accent: The accent color used for highlighting and emphasis
  3. Syntax Highlighting:

    • syntax: An object containing color definitions for various syntax elements (e.g., keywords, strings, comments)
  4. UI Elements:

    • Colors for various UI components such as:
      • element.background: Background color for UI elements
      • border: Border colors for different states (normal, focused, selected)
      • text: Text colors for different states (normal, muted, accent)
  5. Editor-specific Colors:

    • Colors for editor-related elements such as:
      • editor.background: Editor background color
      • editor.gutter: Gutter colors
      • editor.line_number: Line number colors
  6. Terminal Colors:

    • ANSI color definitions for the integrated terminal

Designing Your Theme

You can use Gwen's Theme Builder to design your own custom theme based on an existing one.

This tool lets you fine-tune and preview how surfaces in Gwen will look. You can then export the JSON and publish it in Gwen's extension store.