Built-in Themes
Fresh includes several carefully designed themes optimized for terminal use:- High Contrast
- Dark
- Light
- Nord
- Dracula
- Nostalgia
- Solarized Dark
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
"high-contrast"(default)"dark""light""nord""dracula""nostalgia""solarized-dark"
Via Menu
- Open View → Select Theme…
- Choose from the list of available themes
- Theme changes apply immediately
Via Command Palette
- Press
Ctrl+P - Type
>select theme - 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
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
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:~/.config/fresh/themes/.
Sharing Themes
To share your theme:- Create a theme JSON file
- Publish to GitHub
- Submit to the Fresh plugins registry
Example: Complete Theme
View complete dracula.json theme
View complete dracula.json theme
dracula.json
Next Steps
Settings Reference
Explore all editor configuration options
Keyboard Configuration
Customize keybindings and keymaps