Skip to main content

Built-in Themes

Fresh includes several carefully designed themes optimized for terminal use:
High visibility theme with strong color contrastOptimized for accessibility and readability in any lighting condition. Features bright text on dark backgrounds with vivid syntax highlighting.

Changing Themes

Via Configuration File

Edit ~/.config/fresh/config.json:
config.json
Available theme names:
  • "high-contrast" (default)
  • "dark"
  • "light"
  • "nord"
  • "dracula"
  • "nostalgia"
  • "solarized-dark"

Via Menu

  1. Open ViewSelect Theme…
  2. Choose from the list of available themes
  3. Theme changes apply immediately

Via Command Palette

  1. Press Ctrl+P
  2. Type >select theme
  3. Select theme from the dropdown

Theme Structure

Themes are JSON files located in ~/.config/fresh/themes/ or in the editor’s built-in theme directory. Each theme defines colors for:
  • Editor: Background, foreground, cursor, selection, line numbers
  • UI: Tabs, menu bar, status bar, popups, scrollbars
  • Search: Match highlighting
  • Diagnostics: Errors, warnings, info, hints
  • Syntax: Keywords, strings, comments, functions, types

Theme File Example

Color Format

Colors can be specified in two formats:

RGB Array

RGB values from 0-255.

Named Colors

Available named colors:
  • "Black", "Red", "Green", "Yellow", "Blue", "Magenta", "Cyan", "White"
  • "Gray", "DarkGray", "LightRed", "LightGreen", "LightYellow", "LightBlue", "LightMagenta", "LightCyan"
  • "Default" (use terminal default)

Creating a Custom Theme

1

Create theme file

Create ~/.config/fresh/themes/my-theme.json:
my-theme.json
2

Activate theme

Set the theme in config.json:
3

Reload

Fresh automatically reloads when config changes. Your custom theme is now active.

Theme Components

Editor Colors

UI Colors

Syntax Colors

Diagnostic Colors

Search Colors

Terminal Background Transparency

To use your terminal’s background (e.g., for transparency):
config.json
This makes Fresh inherit the terminal’s background color instead of using the theme’s editor.bg.

Theme Inheritance

You can create themes that extend existing ones:
custom-dark.json
Only the specified fields are overridden. All other colors inherit from the parent theme.

Installing Community Themes

Fresh supports installing themes from the plugin registry:
Themes are installed to ~/.config/fresh/themes/.

Sharing Themes

To share your theme:
  1. Create a theme JSON file
  2. Publish to GitHub
  3. Submit to the Fresh plugins registry

Example: Complete Theme

dracula.json

Next Steps

Settings Reference

Explore all editor configuration options

Keyboard Configuration

Customize keybindings and keymaps