themes.md

 1# Themes
 2
 3Zed comes with a number of built-in themes, with more themes available as extensions.
 4
 5## Selecting a Theme
 6
 7You can see what these are installed and preview them from the Theme Selector. You can open the Theme Selector from the command palette with "theme selector: Toggle" (bound to `cmd-k cmd-t` on macOS and `ctrl-k ctrl-t` on Linux). Selecting a theme by moving up and down will change the theme in real time and hitting enter will save it to your settings file.
 8
 9## Installing more Themes
10
11More themes are available from the Extensions page. You can open the Extensions page from the command palette with "zed: Extensions". Many popular themes have been ported to Zed, and if you're struggling to choose one, there's a third-party gallery hosted by https://zed-themes.com with visible previews for many of them.
12
13## Configuring a Theme
14
15Your selected theme is stored in your settings file. You can open your settings file from the command palette with "zed: Open Settings" (bound to `cmd-,` on macOS and `ctrl-,` on Linux).
16
17By default, Zed maintains two themes: one for light mode and one for dark mode. You can set the mode to `"dark"` or `"light"` to ignore the current system mode.
18
19```json
20{
21  "theme": {
22    "mode": "system",
23    "light": "One Light",
24    "dark": "One Dark"
25  }
26}
27```
28
29## Theme Overrides
30
31You can also override specific attributes of a theme, by using the `experimental.theme_overrides` setting.
32
33For example, to override the background color of the editor and the font style of comments, you can add the following to your `settings.json` file:
34
35```json
36{
37  "experimental.theme_overrides": {
38    "editor.background": "#333",
39    "syntax": {
40      "comment": {
41        "font_style": "italic"
42      }
43    }
44  }
45}
46```
47
48You can see which attributes are available to override by looking at the JSON format of your theme. For example, [here is the JSON format for the `One` themes](https://github.com/zed-industries/zed/blob/main/assets/themes/one/one.json).
49
50## Local Themes
51
52You can store new themes locally, by placing them in the `~/.config/zed/themes` directory.
53
54For example, to create a new theme called `my-cool-theme`, you can create a file called `my-cool-theme.json` in that directory.
55
56It will be available in the theme selector the next time Zed loads.
57
58You can find a lot of themes at [zed-themes.com](https://zed-themes.com).
59
60## Theme Development
61
62See: [Developing Zed Themes](./extensions/themes.md)