Skip to content

Themes ​

Customise proto's color scheme via the /theme command or settings.json.

Change theme ​

/theme

Use arrow keys to select from the list. The selection is saved automatically.

Built-in themes ​

Dark: ANSI, Atom One, Ayu, Default, Dracula, GitHub

Light: ANSI Light, Ayu Light, Default Light, GitHub Light, Google Code, Xcode

Set via settings ​

json
{
  "ui": {
    "theme": "Dracula"
  }
}

NOTE

If theme is set in settings.json, the /theme command won't override it until you remove the setting from the file.

Custom themes ​

Define a custom theme in settings.json:

json
{
  "ui": {
    "customThemes": {
      "MyTheme": {
        "name": "MyTheme",
        "type": "custom",
        "Background": "#282A36",
        "Foreground": "#F8F8F2",
        "LightBlue": "#82AAFF",
        "AccentBlue": "#61AFEF",
        "AccentPurple": "#BD93F9",
        "AccentCyan": "#8BE9FD",
        "AccentGreen": "#50FA7B",
        "AccentYellow": "#F1FA8C",
        "AccentRed": "#FF5555",
        "Comment": "#6272A4",
        "Gray": "#ABB2BF",
        "DiffAdded": "#A6E3A1",
        "DiffRemoved": "#F38BA8",
        "DiffModified": "#89B4FA"
      }
    },
    "theme": "MyTheme"
  }
}

Required color keys: Background, Foreground, LightBlue, AccentBlue, AccentPurple, AccentCyan, AccentGreen, AccentYellow, AccentRed, Comment, Gray.

Optional: DiffAdded, DiffRemoved, DiffModified, GradientColors.

Values accept hex codes (#FF0000) or CSS color names (coral, teal).

Load a theme from a file ​

json
{
  "ui": {
    "theme": "/path/to/my-theme.json"
  }
}

The JSON file must follow the same structure as an inline custom theme. For security, proto only loads theme files within your home directory.

Custom themes via settings scope ​

Custom themes can be set at user, project, or system scope and follow the same configuration precedence as other settings.

Released under the Apache-2.0 License.